面向对象编程语言中,对象系统的继承机制有3种:基于类、基于原型、基于元类
javascript使用原型继承机制设计对象系统,使得该语言有丰富、多变且适用于动态编程的对象系统
让类继承另一个类可能会导致他们之间产生耦合性,也将就是说,一个类依赖另一个类的内部实现,但javascript提供了多种技术途径来避免这种问题的发生,如掺元类等
javascript的继承包括:类继承、原型继承、实例继承、复制继承、混合继承
第一种:原型继承:
function A(x){this.x1=x;this.get1=function(){return this.x1;}}
function B(x){this.x2;this.get2=function(){return this.x2+this.x2;}}
B.prototype=new A(1);//原型对象继承A的实例
function C(x){this.x3=x;this.get1=function(){return this.x3*this.x3;}}
C.protyotype=new B(2)//原型对象继承B的实例
var b=new B(2);alert(b.x1)//1
扫描二维码关注公众号,回复:
3364688 查看本文章
var c=new C(3);alert(c.x1)//1
缺陷:每个类型只有一个原型,所以它不支持多重继承
用户不能决定以什么参数来实例化构造函数
第二种:类继承(构造函数继承)
封装类继承模式
实例继承
复制继承
克隆继承
混合继承
多重继承
掺元类
待续。。。。。