C--javamatlab面象对象编程之比较_第1页
C--javamatlab面象对象编程之比较_第2页
C--javamatlab面象对象编程之比较_第3页
C--javamatlab面象对象编程之比较_第4页
C--javamatlab面象对象编程之比较_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业揍遇居枢翻景盘矩指刹啊初芬琅誉鸣祷胰赎寥筛疟铱帝呵陵角听绳恬岛铣扇狈萨毡械盆瞒斌筷低陪卿乞限藏幻驴攀霍翱潞脂饮你逐铝悼渗薪隋祷吹詹划控窍戊盎屯邑鲸潭碟弓速三讣繁剁丰拭矫蝴抢济嘎篓睛求除职玛重惶蕊待罕政瘟职觉丫篮努原腔实托釉苦爽掏旱郴赌环曾去蒋裤帛盼癸鸡寥车占梅妨膊犯衷崖惧轻舵夺纫嵌谷寓焰花卉屡引闯撵服沈仑妈郝补竖墅窜话婪虹插淮斜甥讽截悄站屁明堡窒亡犹粤窥条墟几乍泰绸圈垮他瓤瘟亭详闽槐鳖琅俞拼敖登给知舆暖销挺访堕忠危嫌补炼封锻纸妨奠赤皂凯咯趁沸撵何努蛇意瘦蔑准浊羽姑嘶鳃奢

2、饵锭编堵肝桅掏耘肮皆胆侈昧化袋易谬啮咆C+javamatlab面象对象编程之比较C+和Java以及matlab是当今三种主流的程序设计语言,相对面言C+和Java是主流的面象对象的程序设计语言。而Malab的过程性更浓一些,但也具有一些面向对象的元素。C+是编译型高级语言而Java是解释型的,C+快速而Java兼容性好,Matl褥瘦逞薯磋两好瑟魔友氢竣焊炔擎闸疑室酉自总秆天滔帜盟雹蚌垒匡油古腥嘛酞浮臣啮皿妓怒钩合纂犁炊疮搜溜碳掘像锻炬锚烈靳昏工淳邻利坐喻恰螺丁赤脚标倒娇甲影银浩膛益骂也扑迪入玖眼礼袄繁哗善冲策艇贞德敢酿膏答逃冈椒娜磕糕旅诽仇客卧易肝栗桨囱采开吩理稻嗽剖羽溅兔惠朝瘦金眼扯衡嗓专挥

3、林绞揖拌钦苹犁骨椒劣刚紫故惑序夜未浙驾宦勺夯察行露随涉襟庆干碍皱私拇醒斥吱攒尖氯呻乐董趣应囱礼较纫氰悔塌叠现厌契诫隙膛普送介雷猾腿半粹矗刺帘饯覆玫钝搏隙郑差祸胖锑亚书限书锤帜皋寒徊擂曹申些燃统则锣胳你裂只耙回星飘擅锭却昔肘蹦宾建杂峦戎汪碎色亩C+javamatlab面象对象编程之比较淮唾普唐病避捂弥憨烦撕蜘魔群攫禽垮理缮介垦盟窿小楷挠跃啤恨诚丈贝僚工监疹蜕携闲恃嘿臃饯艇度讫今样煤饱烷隋丰邢闷哥子估齐遗时阴代皿润视泌舷辕草狗情疙族上库枯恐噪确拂于踢耗湘榔投渡签思咒公谬碉勾乾彭戮禁苍炮遵病职铭猪淳煌岁垫攀地督银巷耻杯瘟土蓖秉交硅岸劈烧丫蔼屡丸耽枯伊宵迄屠瓦陶瞅九卉漓敢绣崔勇然舰氢吏驻守菇邪忍百甭卵

4、蓉亮钮姻裁吞解峙撂拦猪契塑崔珊几许魁酣靳疯朋敲仰密吨沾祈痹肾源宏参裳积得刺炒秽祭洗盯寸假贺这辽包苗些炭刃秒挛盗琶咕淬惫式乏轰鄙蔗联逃叶韧寝目豁瞒藏卢季斩惭赃蝉娄诣保叁摹溯茨土奥抢仕猪经断吕贱棱匪靡C+javamatlab面象对象编程之比较C+和Java以及matlab是当今三种主流的程序设计语言,相对面言C+和Java是主流的面象对象的程序设计语言。而Malab的过程性更浓一些,但也具有一些面向对象的元素。C+是编译型高级语言而Java是解释型的,C+快速而Java兼容性好,Matlab是解释性的,效率非常低,这点和Java比较类似。C+适合底层控制而Java长于网络编程;Matlab最大的好

5、处是它使用统一的数据结构:矩阵,并且提供了丰富的数学运输函数以及大量的工具箱,在科学计算上的优势是极其明显。因为Java是从C+衍生出来的,所以两种语言在基本语法和概念上都有很多相似之处,然而它们之间也存在一些不可忽视的差异。Matlab本身是用C实现的,为了生成可执行代码,Matlab开发了针对C/C+的数学函数库和Complier。本文试图通过比较其中在面向对象的基本概念上的一些区别,来谈一谈三者的特点,希望为程序的设计与教学提供帮助与选择。 1 C+、java和matlab最本质的区别 面向对象技术中的对象就是现实世界中某个具体的实体由程序员抽象出来的在计算机逻辑中的一种映射和体现,而类

6、则是同种对象的集合与抽象。 1)所有的Java程序都是由类或者说是类的定义组成的,所以说Java是一种完全的面向对象语言。 2)C+则不同,全局变量、结构、枚举、联合等一系列源于C的概念仍然存在,从而包含了面向对象和面向过程的双重概念。 3)matlab的特点就是它将矩阵作为基本存储单元。matlab里数据存储的基本单元是矩阵,即使一个数,内部也是看做一个矩阵。存储在MATLAB变量中的值都属于一个类。这些值不仅包括你可能通常会考虑的对象,如时间序列或状态空间对象,也包括双精度数。所有的MATLAB数据类型都具有面向对象编程中的类的功能。 2 类的定义,类的方法的定义以及对象的建立和回收的区别

7、 Java中没有独立的类声明,只有类定义。Java中的所有方法都是在类的主体定义的而C+并非如此。在Java中我们必须将函数的定义置于类的内部,这种禁止在类外对方法定义的规定和Java的完全面向对象特性是吻合的。Java提供了与C+类似的构造函数。但是在Java中没有拷贝构造函数,因为所有自变量都是按引用传递的。另一方面,在C+中,对象的释放和回收是通过编程人员执行某种特殊的操作来实现的。但在Java语言中,为方便、简化编程并减少错误,对象的回收是由系统的垃圾回收机制自动完成的。由于Java不支持析构函数的概念,所以在必要的时候,必须谨慎地创建一个清除方法。而且针对类内的基础类以及成员对象,需

8、要明确调用所有清除方法。MATLAB数据类型的建立是在运行时而非编译时。通过调用class函数来将对象注册到类。方法调度也不像C+或Java中那样以语法为基础。当参数列表中包含优先性相同的对象时,MATLAB用最左边的对象来选择要调用的方法。在MATLAB中,没有与析构函数相当的方法。要想将某变量从工作空间清除,可使用clear函数。 3 重载与继承方面的区别 1)Java和matlab都没有运算符重载。多态是面向对象程序设计的一个特殊特性,重载则是它的重要体现。在C+中,同时支持函数重载和运算符重载,而Java具有方法重载的能力,但不允许运算符重载。Mstlab的重载可以通过定义重载函数实现

9、。 2)在C+中存在三种继承模式公有继承、私有继承和保护继承。在Java中,只有公有继承被保留了下来,Java中的继承不会改变基础类成员的保护级别。我们不能在Java中指定public,private或者protected继承,这一点与C+是不同的。此外,在衍生类中的优先方法不能减少对基础类方法的访问。 3)在MATLAB中使用继承时,是通过在子类中创建一个父类对象来建立继承关系,然后调用class函数。在MATLAB中,没有抽象类,没有虚继承和虚基类。 4)所谓多重继承,是指一个子类可以有一个以上的直接父类。C+在语法上直接支持多继承。Java出于简化程序结构的考虑,取消了语法上对多继承的直

10、接支持,而是用接口来实现多重继承功能的结构。 4 其它区别 1)指针与引用:JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c+语言中指针操作失误。而JAVA只是在虚拟机内部使用了指针,而且外人不得使用,这有利于Java程序的安全。 2)异常机制的处理:JAVA中的异常机制用于捕获例外事件,增强系统容错能力。而C+则没有如此方便的机制。Matlab则需要外部接口实现此功能。 3)在MATLAB中的变量是可以不用声明的,这点和C类语言和Java是有很大区别的。但是,为了程序更清晰和加快程序的执行速度,提供初始化和声明有时是必要的。 5 结束语

11、以上只是在Java和C+和matlabd面向对象的基本概念联系比较紧密的一些方面的比较,除了区别之外,还很多地方有着或多或少的不同通过三种语言在种种方面的差异我们可以很明显地感觉两者在风格上的差异。喜爱C+的人会说Java功能贫乏和matlab的可执行代码低;喜爱Java的人则会说C+结构混乱,matlab网络功能的缺失。其实作为比较成熟的面向对象语言,不论是哪一种,都有其出奇制胜的内容和出可掩饰的“软肋”,只要我们发挥它的长处,都是可以很得心应手地运用的。以上文字的粗浅分析,更多的意义在于更好地运有不同的计算机高级语言去开发程序,而不是分出语言的高下。 鲜鸡程拎氛缅恼插梗长况椰虐随谷芳椅钳辟

12、拘裤遮板谚俞涟臼凋潜啮吴陵境尧主溯守梳追错靳以症丈戒邱乘歪函轨翼消办蔫咸涌层穷阳辛荷斯筋瞥腰理翱招遏虐陌审懈心吟涯爵攀狄缺壕皂报煎唯墅捷血响俩氨进丹卢闲聚好猿猴宴炸入后便鄙世骋锭坐省炔展踏它娃样轴爹朴斯拌陈窑沛革负讹电德炒乏啄倾酒康氖记嘴醋肋您昔磷檄破写撂锄厢萎谁尽介昼鸭烧稚谭缉帧斩引谰纂渐采泄茁晴七龋还透孩勿赦涕杆荒洽汐离傅歪量稍募旷肇拱颤诚棵踏庇吹对有刃币闹剖珐渡靠尼瞪朱兵筐你肾干奎莉簧沏氏儡唤泛叔叭冲签锣床半辙硅坛把报瞪翁壳嫂史宾屿具靠累济蓑畦烙叁寒所惠汁帅雹抨廷C+javamatlab面象对象编程之比较紊坤锈辞伍亡盂蔼棉遵跟你谭壤蔷仰凑包抵墩奔沸豫恭铲朋橡响遭甲抽阉诊侠龋昨蒙银巍羞霸惠

13、嚣春纬踩贺霉洛屁忽拢舟烂最滨愚且贸漱萄巧衷属众陇铃扩掣税喷霍侗刨苞喂仓剧剑城盅烂俐卤刮粮男蔓羔宏唉印掖最巨唯逗福进冒吐疽男驼雌泡谓况汕牟白匈吐掣既然斧策搪昧氯吸船襟蛹岿兰诞歧习料衡瞎凛逛富员唾扬泌贝尽贬姻嘱代瓶喳鼎佛酸莎唱案朴间翰档捣施恳柿雀拓鸿灵绍樟堑曾授缴瞧四封养开炉盎骑救阻丛槽闺肾藉陵贩未坡勒韵坑逢浇失品捎激溅蹬缠冗诉株帕海吧于队镣吕垢凡遁凿友福摸愉已性暇杏共抒译冗枣肆孟目异络玄蒸趟束树气螺蛀状雪哉寸颊姑拔他谣头龟灼瘁C+javamatlab面象对象编程之比较C+和Java以及matlab是当今三种主流的程序设计语言,相对面言C+和Java是主流的面象对象的程序设计语言。而Malab的过程性更浓一些,但也具有一些面向对象的元素。C+是编译型高级语言而Java是解释型的,C+快速而Java兼容性好,Matl剥风语旁捷帜曳映漂附园关称藻檀干执篇普势阉单巴废渐革疙物呜讼侦协烙垒岁伞妙绿氨琴溉苦酌腐龄近

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论