javascript继承之构造函数继承(二)

构造函数继承也就是也用构造函数,也可以说是伪造对象或经典继承
思想很简单:在子类型构造函数的内部调用超类型构造函数

  • 创建构造函数
function Car(master,color){
    this.master = master;
    this.color = color;
}
# 创建原型链方法
Car.prototype.changeColor = function(color){
    this.color = color;
}
  • 创建Audi子构造函数,并且继承Car构造函数
function Audi(){
    Car.apply(this,arguments);
}
  • 创建Audi原型链方法
Audi.prototype.getMessage = function(){
    return this.master + "有一辆"+this.color+"的奥迪";
}
  • 实例继承测试
var car1 = new Audi("car1Master","黑色");
var car2 = new Audi("car2Master","白色");
console.log(car1.getMessage());
// 结果:car1Master有一辆黑色的奥迪

console.log(car2.getMessage());
// 结果:car2Master有一辆白色的奥迪

注意:Car超类构造函数的原型有一个changeColor方法,Audi继承了Car,那么对于Audi来说,原型的方法是不可见的,因此函数的复用就无从谈起了

好处:对于原型链继承来说,构造函数继承可以向超类构造函数中传递参数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意...
    霜天晓阅读 2,255评论 0 6
  • 继承是 OO 语言中的一个最为人津津乐道的概念。许多 OO 语言都支持两种继承方式:接口继承 和 实现继承。接口继...
    threetowns阅读 488评论 0 0
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,491评论 2 4
  • 一、配置文件详解 在RHEL或者CentOS等Redhat系的Linux系统里,跟网络有关的主要设置文件如下: /...
    FiveStrong阅读 1,872评论 0 3
  • 不知道从什么时候起,每次外出,无论看到何种景象,都会在心里默默吐槽百遍,好像全世界都欠我一个说法。有小情侣亲热,冷...
    野蛮生长的南方姑娘阅读 279评论 0 0

友情链接更多精彩内容