锁定老帖子 主题:JavaScript里面真的需要继承吗?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (18)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-03
js也有类似的功能,只是它不是叫做继承而已。
|
|
返回顶楼 | |
发表时间:2009-05-03
楼主的思考很有道理。不过这似乎早就是OO的共识了。
OO的一大设计原则就是:能用聚合实现的地方,就不要用继承来实现。 泛泛而言,继承也是一种聚合,但却是一个“完全聚合”,想要的不想要的都要聚合进来,耦合性太强。GOF的设计模式里面提供了好几个用聚合代替继承的模式。实际上,继承完全能用聚合代替,比如,微软的COM组件就是用聚合来实现继承。 当然,很多场合下继承是最合适的选择。但原则还是要记着:少用继承,多用聚合。 |
|
返回顶楼 | |
发表时间:2009-05-03
最后修改:2009-05-03
javascript本身很灵活,语法也很松散。既然他不属于纯粹的OO,又带有OO的某些特性,就是希望javascript的使用者根据需要来处理吧。
我是这么觉得。 |
|
返回顶楼 | |
发表时间:2009-05-03
最后修改:2009-05-03
javascript OO 的抽象能力很强的,譬如,它可以用 原型的原型 漂亮的实现参数化类。
而基于类玩继承的 OO 做这个就很难看了,五花八门…… 结果产生了 template、generic、annotation、attribute 等各种概念…… |
|
返回顶楼 | |
发表时间:2009-05-04
原型继承和掺元都挺好用的.类式继承在js中就没看出有多大用处.除了有点像静态语言的继承。
|
|
返回顶楼 | |
发表时间:2009-05-04
就你公司情况,你不感觉一个代码可以用几年架构很牛叉了吗
有20几层的继承说明代码该更新换代了 |
|
返回顶楼 | |
发表时间:2009-05-05
这和JS本身有必然联系么?其他语言一样会碰到聚合还是继承的选择。
对于一个高内聚的工具模块来说,有时候就是应该用聚合的。 代码维护分两个层面的,模块间的是一种,模块内的是另一种。 |
|
返回顶楼 | |
发表时间:2009-05-07
继承不能滥用,特别是js这种无类语言。
一堆集成之后,一堆属性能用的不能用都都拼在一起,好不热闹。 |
|
返回顶楼 | |
发表时间:2009-05-11
不能为了继承而继承,能不用尽量不用,至少节省实现继承的那段代码,JS里每一行代码都代表流量。
|
|
返回顶楼 | |
发表时间:2009-05-11
继承确实是很难用好~
|
|
返回顶楼 | |