Ajax In Action 附录 B2.4

B 2.4 原型的继承

面向对象不仅提供了对象类的支持,还提供了他们之间继承的结构层级关系,典型的例子就是Shape对象,Shape定义了计算周长和面积的方法,在这个基础上,我们可以实现具体的矩形,正方形,三角形和圆形的方法实现。

范围内的继承。一个对象的方法或者属性的范围决定了谁可以使用它,也就是说,不管它使public型的,还是privateprotected的。

范围和继承在定义一个域模型的时候会很有用。不幸的是,JavaScript对这两个都不支持。但是人们并没有因为这个而停止,又有一些新的解决方案产生了。Doug Crockford开发了一些新的解决方法来实现JavaScript对象的继承和范围。无疑,这种工作是令人感动的,也应该来仔细看一下。这种技术需要的语法对普通的读者可能有点难理解,在团队协作工作过程中,接受这种技术在数量上可以与Java框架相比拟,而在复杂性上就与StrutsTapestry相似,也就是说,要么就没有人会,要么就要所有成员都学会。我建议那些对这个领域有兴趣的人读一读Crockford’s网站上的文章。

在面向对象的世界里,已经出现了从复杂的继承逐渐向配合转变的趋势。通过配合,普通的功能可以被抽取出来放到帮助类里面,在其他类里面进行使用,在很多方案里,配合可以提供类似于继承的特性,而JavaScript很好的支持配合。

我们JavaScript对象学习的下一站反射机制。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值