javascript 面向对象(实现继承的几种方式)

 1、原型链继承

核心: 将父类的实例作为子类的原型

缺点:  父类新增原型方法/原型属性,子类都能访问到,父类一变其它的都变了

function Person (name) { this.name = name; }; Person.prototype.getName = function () { //对原型进行扩展 return this.name; }; function Parent (age) { this.age = age; }; Parent.prototype = new Person('老明'); //这一句是关键 //通过构造器函数创建出一个新对象,把老对象的东西都拿过来。 Parent.prototype.getAge = function () { return this.age; }; // Parent.prototype.getName = function () { //可以重写从父类继承来的方法,会优先调用自己的。 // console.log(222); // }; var result = new Parent(22); console.log(result.getName()); //老明  //调用了从Person原型中继承来的方法(继承到了当前对象的原型中)   console.log(result.getAge()); //22   //调用了从Parent原型中扩展来的方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyfzz.html