分享
 
 
 

《Java编程思想》(第二版)第07章:多态(polymorphism)

王朝java/jsp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

我的笔记封装,继承与多态是OOP的三个核心本质。

Method-call(函数调用)绑定方式:

如果绑定动作发生于程序执行前(由编译器和连接器完成),成为"先期绑定(early binding)"

绑定动作将在执行期才根据对象型别尔进行,称为后期绑定late binding,或者执行期绑定run-time binding,或者动态绑定dynamic binding.

Java运用RTTI(run-time type identification)技术来支持动态绑定.

上一章提到的final关键字修饰函数有两个作用:1是从设计上考虑禁止该method被覆盖,2是从效率上考虑告诉编译器可以"关闭"动态绑定,于是编译器便得以为final method call产生效率较佳的程序代码.不过大多数时候这么做并不会为你的程序带来整体效能提升.所以最好还是处于设计上的考虑来决定是否使用final,而不要企图用final来改善效率.

override与overload在语法上只有微小的差别,但是语义上却108000里.一定要注意不要疏忽写错了.如果这个问题被埋藏于大型程序中,找出这个问题的难度可想而知有多高!

abstract关键字:为了产生共同接口或者禁止生成base class的实例,可以使用抽象类.

含有abstract methods(抽象函数)的类称为abstract class.如果class含有单一或多个abstract methods,便需要以关键字abstract作为这个class的修饰词.否则编译器会发出错误信息.

我们也可以将不含任何abstract methods的class声明为abstract.如果你不希望你所撰写的class被产生出任何实体,但这个class又不具备"拥有abstract methods"的实际理由时,这项性质便极为有用.

构造函数(Constructors)和多态(polymorphism)

在某个对象生成的时候整个继承链上的构造函数都会被调用到,否则整个对象便无法建构成功.

继承与finalize()

当你使用组合技术来写新的class,你不需要烦恼他的成员对象的终止(finalizing)问题.每个成员都是独立对象,因此会被垃圾回收器回收并终止.不过在继承关系中,如果你有某些特别的清理动作(cleanup)得在垃圾回收时候进行,你就得在derived class中复写finalize(),同时千万别忘了调用base class的finalize().即super.finalize().

plymorphic mehtods在构造函数中的行为

--是很难预料的:)动脑想一想吧.这里是臭虫多产地带.而就观念而言,构造函数的任务是让对象从无到有(这很难被视为一般性工作).因此,撰写构造函数时,一条原则是:"尽可能简单地让对象进入正确状态.如果可以的话,别调用任何函数".构造函数中唯一可以安全调用的函数便是"base class中的final 函数"(这对private 函数来说一样成立,因为他们天生就是final).此类函数无法被复写,也就不会产生含混不清的问题了.

纯粹继承(pure inheritance) vs. 扩充(extension):

IS-a vs. IS-like-a

向下转型(downcasting)与RTTI

RTTI比单纯的转型包含了更多内涵.举例而言:有个方法可以让你在尝试向下转型之前,先取得你所处理的型别.

貌似前面的章节有提到:成员函数不许调用构造函数,现在构造函数对成员函数的调用上我们也尽量加以限制了....

我的问题

貌似没有问题了,咣当,好像比C++的继承多态要清楚许多...

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有