作者weii (醉拳甘乃迪)
看板SFFamily
标题Re: [问题] java?
时间Wed Oct 16 23:11:18 2002
※ 引述《johnnny (枪圣吕未根!!)》之铭言:
: ※ 引述《weii (醉拳甘乃迪)》之铭言:
: : 多重继承的compiler比单一的复杂多了 效率也差
: compiler or virtual machine?
: : 至於你说不能完全来取代
: : 这句话应该是错的
: : 改天来想想怎麽证明
: 我的意思是:
: 圆(superclass,已implement method) - 椭圆(subclass,extend圆已implement的method)
: 现在想要加入"画"的功能
: 把"画"想成是interface
: 圆(superclass,已implement method) ┐椭圆(subclass,extend圆已implement的method
: 画(interface,未implement method) ┘ 且implement画未implement的method)
: 但是如果我今天想要达到:
: 圆(superclass,已implement method) ┐圆柱(subclass,extend圆已implement的method
: 方(superclass,已implement method) ┘ 且extend方已implement的method)
: 这种多重继承的特性就不能完全用interface来取代
: 怎麽办?
我整理一下我对这各prob的认知
允许多重继承的case:
想像 A B两class
可以很简单就做出class AB同时拥有两父类别的特性
反之 单一继承就不能简单造出 A + B = AB 的等式
然而有没办法解决呢?
我已知的答案是 by composite object(物件复合)
idea大概就是让A和B "合作" 处理事情
通常会把A和B包在如你说的 圆柱 类别里面
不知道你认为这样的解法够不够俐落?
此外
"介面"不是用来代替或取代"多重继承"的
关於这个问题
请参考OO大师陈俊良教授的课程
--
「大哥!你....」
「你在以旁门左道的方法,逼自己的剑气踰越极限﹖」
「废话!」应雄反驳:
「什麽旁门左道﹖
能够将最强的功力提昇至无法再上的强中之强,
才是必胜的最佳战略!」
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.201.208.96