编者按:此文件被选为Matlab Central本周精选
这个例子添加了MATLAB®c++ vs Java vs Python vs Ruby:第一印象(http://web.archive.org/web/20100420080552/http://www.dmh2000.com/cjpr/)文章www.dmh2000.com,比较了红黑树二叉搜索算法(http://www.cs.auckland.ac.nz/software/alganim/ed_black.html.)。
并排的代码比较显示了用c++、Java、Python、Ruby和MATLAB编写的相同的简单面向对象的示例。MATLAB实现使用了R2008a中新的面向对象特性。这个例子旨在帮助熟悉这些其他语言的程序员学习MATLAB中的面向对象编程实践。
如何比较两种语言
单击“下载”,然后将文件保存并解压缩到文件夹。打开CompatileAnguages.html文件。两种语言的代码在两个框架中并排显示。您可以通过单击每个帧顶部的链接来选择两种语言进行比较。请注意,与大多数其他语言不同,您当前不能在单个MATLAB类定义文件中放置多个类,因此使用具有两个类和测试函数的假组合文件(不运行)-By-侧HTML比较。MATLAB代码包含在名为MATLAB_CODE的子文件夹中。等效的C ++,Java,Python和Ruby代码可从DMH2000网站获得。
虽然这个例子确实让您比较这些语言的面向对象的语法,但它不会比较语言开发技术计算应用程序,例如用于MATLAB的信号处理,图像处理,金融建模等。
在MATLAB中的学习对象方向编程的其他资源包括:
*定义课程视频教程- 11分钟(//www.tatmou.com/videos/developing-classes-overview-101452.html)
*使用面向对象应用示例的C ++和MATLAB的比较(http://tinyurl.com/2zkhgu)
* MATLAB类和面向对象编程文档(//www.tatmou.com/help/matlab/object-oriented-design-with-matlab.html)
有关MATLAB OOP的更多信息,请参见产品页面://www.tatmou.com/discovery/object-oriented-programming.html.
McGarrity斯图尔特(2020)。比较c++、Java、Python、Ruby和MATLAB的OOP实例(//www.tatmou.com/matlabcentral/fileexchange/18972-comparison-of-c-java-python-ruby-and-matlab-op-example),Matlab中央文件交换。检索到.
1.14.0.2 | 固定失效链接 |
|
1.14.0.1 | 更新许可证 |
|
1.14.0.0 | 添加了更多信息的链接。 |
|
1.13.0.0. | 改变了http://www.dmh2000.com/ *链接到http://web.archive.org/web/20100420080552/http: / / www.dmh2000.com/ * |
|
1.11.0.0 | 修复HTML格式中的错误。 |
|
1.10.0.0. | Url编辑到比较语言。html |
|
1.9.0.0 | 描述编辑 |
|
1.8.0.0 | 编辑url列表 |
|
1.6.0.0 | 商标工作。 |
|
1.1.0.0. | 添加商标。 |
|
1.0.0.0 | 审阅者发现的评论中纠正了错误,指的是“匿名”课程 |
|
修复摘要和视频URL |
||
调整图像大小 |
||
重新格式化 |
||
调整图像大小 |
Celdor(查看资料)
非常有用。谢谢:)
hiha.(查看资料)
为什么Matlab测试功能不运行?
斯图尔特McGarrity(查看资料)
是的,我同意这是一个纯粹的翻译/语法比较,旨在帮助这些语言的程序员,熟悉MATLAB OO语法。它可以以一种更适合MATLAB的方式实现(同时不需要直接进行语法比较)。我鼓励任何人提交一个新版本的代码来完成这项工作。(我会修正HTML输入错误-谢谢)。
克里恩戈(查看资料)
阿德里安说的。
句柄行为未添加到自定义类中,以便您可以解决并将C ++思考到Matlab上!
例如,NodeVisitor类完全是多余的,应该只是一个函数(它没有数据!)我也不明白为什么MATLAB类需要COPY方法,它总是通过赋值操作符隐式存在。
在rbmatlab.html中的程序的第6行结束时缺少 span>缺少,所有代码都是绿色的!
亚伯布朗(查看资料)
伟大的非平凡的例子!我已经知道面向对象,所以这对语法、组织等很好。帮了我很多!
madhu j(查看资料)
想要一些详细信息
感谢你的努力,但是这个比较需要改进。您忽略了使用特定于语言的习惯用法和技术,因此这只是一种语法比较。这没有关系,但是我认为语言比较的目的是为了突出有用的特性。程序员可以用任何面向对象语言编写c++代码,就像这里发生的一样。
我想知道matlab ode计划
我想知道ODE程序。
神奇的努力,祝贺你! !是否有可能发送一个CD完成所有的演示准备参考。
谢谢
这个matlab很好
1)在MATLAB实现中,NodeVisitor类不是匿名的。第229行中的评论应更改。
2)应实现VAL和颜色的Getter和Setter方法(用于封装,因此在不改变其用户的情况下可以更改类内部的内容)
5