当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript 继承机制实例

Javascript
经常用到的JavasScript事件的翻译
Javascript下的keyCode键码值表
用javascript动态调整iframe高度的代码
javascript应用:Iframe自适应其加载的内容高度
javascript 控制弹出窗口
用javascript父窗口控制只弹出一个子窗口
给moz-firefox下添加IE方法和属性
FireFox中textNode分片的问题
对google个性主页的拖拽效果的js的完整注释[转]
身份证号码前六位所代表的省,市,区, 以及地区编码下载
一个友好的.改善的 Object.prototype.toString的实现
如何写一个通用的JavaScript效果库!(1/2)
如何写一个通用的JavaScript效果库!(2/2)
几个高效,简洁的字符处理函数
无语,javascript居然支持中文(unicode)编程!
ie 处理 gif动画 的onload 事件的一个 bug
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
JavaScript 中的replace方法说明

Javascript 继承机制实例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 436 ::
收藏到网摘: n/a

说明继承机制最简单的方法是,利用一个经典的例子——几何形状。

实际上,几何形状只有两种,即椭圆形(是圆形的)和多边形(具有一定数量的边)。圆是椭圆形的一种,它只有一个焦点。三角形、矩形和五边形都是多边形的一种,具有不同数量的边。正方形是矩形的一种,所有的边等长。这就构成了一种完美的继承关系。

在这个例子中,形状(Shape)是椭圆形(Ellipse)和多边形(Polygon)的基类(base class)(所有类都由它继承而来)。椭圆具有一个属性foci,说明椭圆具有的焦点的个数。圆形(Circle)继承了椭圆形,因此圆形是椭圆形的子类(subclass),椭圆形是圆形的超类(superclass)。同样的,三角形(Triangle)、矩形(Rectangle)和五边形(Pentagon)都是多边形的子类,多边形是它们的超类。最后,正方形(Square)继承了矩形。

最好用图来解释这种继承关系,这是UML(统一建模语言)的用武之地。UML的主要用途之一是,可视化地表示像继承这样的复杂对象关系。图4-1是解释Shape和它的子类之间关系的UML图示。

在UML中,每个方框表示一个类,由类名说明。Triangle、Rectangle和Pentagon顶部的线段汇集在一起,指向Shape,说明这些类都由Shape继承而来。同样的,从Square指向Rectangle的箭头说明了它们之间的继承关系。

如果有兴趣学习UML,可以参考三位UML创始人所著的《UML用户指南(第二版)》。