javascript面向对象编程--继承(类继承、原型继承、实例继承、复制继承、混合继承)---原型继承

面向对象编程语言中,对象系统的继承机制有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

var c=new C(3);alert(c.x1)//1

缺陷:每个类型只有一个原型,所以它不支持多重继承

          用户不能决定以什么参数来实例化构造函数

第二种:类继承(构造函数继承)

封装类继承模式

实例继承

复制继承

克隆继承

混合继承

多重继承

掺元类

待续。。。。。

猜你喜欢

转载自blog.csdn.net/wenmin1987/article/details/82584487