面向对象的继承

Posted kikia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象的继承相关的知识,希望对你有一定的参考价值。

继承是在原有对象基础上,略作修改,得到一个新的对象,而不影响元有对象的功能。

添加加成的方法:

1.继承属性

call方法来继承属性,实现如下:

//父类

function createPerson(name,age){

  this.name=name;

  this.age=age;

}

function createArt(job){

  createPerson.call(this,name,age);//当前createArt对象,继承createPerson中的name和age属性;createArt也有name和age属性;

}

2.继承方法

for in莱继承方法,实现如下

var a={

  name:"小明";

}

var b=a;//通过赋值的方式创建对象,新创建的对象的属性值改变时,原来对象的属性值也会变化,下两行可以看出

b.name="李四";

alert(a.name);//a.name="李四";

要创建新的对象b,且新对象属性质的改变不影响原来对象,可以用for in来完成,如下:

for( var attr in a){

  b[attr]=a[attr];//把a中的属性复制到b中,

}

b.name="lisi";//修改b中属性值,不会影响a,如下测试:

alert(a.name);//a.name依然是原来的“小明”;

另外一种写法:

function AAA(name,age){

  this.name=name;

}

function BBB(name){

  this.name=name;

}

AAA.prototype.showjob={}

function Extend(obj1,obj2){

  for(var attr in obj1){

  obj2[attr]=obj1[attr];

  }

}

 Extend(AAA.prototype,BBB.prototype)

BBB中也会有一个showjob方法

以上是关于面向对象的继承的主要内容,如果未能解决你的问题,请参考以下文章

JAVA面向对象,继承、封装、多态

JS面向对象三大特征:封装、继承、多态

Flutter入门-Dart面向对象原理

Python入门-6面向对象编程:07面向对象三大特征(封装继承多态)-继承

Python之面向对象继承详解以及面向对象三大特性

面向对象与继承