论坛首页 Web前端技术论坛

JavaScript里面真的需要继承吗?

浏览 15262 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (18)
作者 正文
   发表时间:2009-05-03  
js也有类似的功能,只是它不是叫做继承而已。
0 请登录后投票
   发表时间:2009-05-03  
楼主的思考很有道理。不过这似乎早就是OO的共识了。
OO的一大设计原则就是:能用聚合实现的地方,就不要用继承来实现。
泛泛而言,继承也是一种聚合,但却是一个“完全聚合”,想要的不想要的都要聚合进来,耦合性太强。GOF的设计模式里面提供了好几个用聚合代替继承的模式。实际上,继承完全能用聚合代替,比如,微软的COM组件就是用聚合来实现继承。
当然,很多场合下继承是最合适的选择。但原则还是要记着:少用继承,多用聚合。
0 请登录后投票
   发表时间:2009-05-03   最后修改:2009-05-03
javascript本身很灵活,语法也很松散。既然他不属于纯粹的OO,又带有OO的某些特性,就是希望javascript的使用者根据需要来处理吧。
我是这么觉得。
0 请登录后投票
   发表时间:2009-05-03   最后修改:2009-05-03
javascript OO 的抽象能力很强的,譬如,它可以用 原型的原型 漂亮的实现参数化类。

而基于类玩继承的 OO 做这个就很难看了,五花八门……
结果产生了 template、generic、annotation、attribute 等各种概念……
0 请登录后投票
   发表时间:2009-05-04  
原型继承和掺元都挺好用的.类式继承在js中就没看出有多大用处.除了有点像静态语言的继承。
0 请登录后投票
   发表时间:2009-05-04  
就你公司情况,你不感觉一个代码可以用几年架构很牛叉了吗

有20几层的继承说明代码该更新换代了
0 请登录后投票
   发表时间:2009-05-05  
这和JS本身有必然联系么?其他语言一样会碰到聚合还是继承的选择。

对于一个高内聚的工具模块来说,有时候就是应该用聚合的。

代码维护分两个层面的,模块间的是一种,模块内的是另一种。
0 请登录后投票
   发表时间:2009-05-07  
继承不能滥用,特别是js这种无类语言。

一堆集成之后,一堆属性能用的不能用都都拼在一起,好不热闹。
0 请登录后投票
   发表时间:2009-05-11  
不能为了继承而继承,能不用尽量不用,至少节省实现继承的那段代码,JS里每一行代码都代表流量。
0 请登录后投票
   发表时间:2009-05-11  
继承确实是很难用好~
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics