资讯专栏INFORMATION COLUMN

关于对象继承的问题——利用空对象做中介

caohaoyu / 751人阅读

摘要:先上例子动物定义继承函数这里的是个名称,可以随意命名执行函数输出结果是针对这个问题,在方法中要在中进行体现对函数添加修改后的代码感兴趣打开连接工程师的福利导航动物添加代码定义继承函数这里的是个名称,可以随意命名执行函数输出结果是动物

先上例子:

function Animal(){

    this.type="动物";

}

function Cat(name, color){

    this.name=name;

    this.color=color;

}

//定义继承函数

function extend(Child, Parent){

    var Fn=function(){};
    
    Fn.prototype=Parent.prototype;

    Child.prototype=new Fn();
    
    Child.prototype.constructor=Child;

    Child.uber=Parent.prototype;//这里的uber是个名称,可以随意命名

}

//执行函数
extend(Cat, Animal);

var cat_1=new Cat("kate", "white");

alert(cat_1.type);//输出结果是undefined

针对这个问题,在extend方法中uber要在Cat中进行体现
对Cat函数添加
Cat.uber.constructor.call(this);

修改后的代码(感兴趣打开连接---工程师的福利导航):

function Animal(){

    this.type="动物";

}

function Cat(name, color){
    
    Cat.uber.constructor.call(this); //添加代码
    
    this.name=name;

    this.color=color;

}

//定义继承函数

function extend(Child, Parent){

    var Fn=function(){};
    
    Fn.prototype=Parent.prototype;

    Child.prototype=new Fn();
    
    Child.prototype.constructor=Child;

    Child.uber=Parent.prototype;//这里的uber是个名称,可以随意命名

}

//执行函数
extend(Cat, Animal);

var cat_1=new Cat("kate", "white");

alert(cat_1.type);//输出结果是   动物

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/49928.html

相关文章

  • 关于对象继承问题——利用对象中介

    摘要:先上例子动物定义继承函数这里的是个名称,可以随意命名执行函数输出结果是针对这个问题,在方法中要在中进行体现对函数添加修改后的代码感兴趣打开连接工程师的福利导航动物添加代码定义继承函数这里的是个名称,可以随意命名执行函数输出结果是动物 先上例子: function Animal(){ this.type=动物; } function Cat(name, color){ ...

    hersion 评论0 收藏0
  • 关于对象继承问题——利用对象中介

    摘要:先上例子动物定义继承函数这里的是个名称,可以随意命名执行函数输出结果是针对这个问题,在方法中要在中进行体现对函数添加修改后的代码感兴趣打开连接工程师的福利导航动物添加代码定义继承函数这里的是个名称,可以随意命名执行函数输出结果是动物 先上例子: function Animal(){ this.type=动物; } function Cat(name, color){ ...

    source 评论0 收藏0
  • Javascript面向对象编程(二):构造函数继承

    摘要:动物还有一个猫对象的构造函数。这显然会导致继承链的紊乱明明是用构造函数生成的,因此我们必须手动纠正,将对象的值改为。这是很重要的一点,请务必注意如果替换了对象,下一步必然是为新的对象加上属性,并将这个属性指回原来的构造函数。 原文链接 现在有一个动物对象的构造函数。 function Animal() { this.species = 动物; } 还有一个猫对象的构造函数。 fun...

    longmon 评论0 收藏0
  • javascript对象继承

    摘要:的构造函数是什么它是一个普通的函数它内部用了关键字它有一个属性,这个是一个对象当然,其实每一个函数都有属性这个上面是可以被继承的属性可被继承的属性以上是一个从原型对象生成实例对象的例子。 1: JavaScript的构造函数是什么? 1: 它是一个普通的函数 2: 它内部用了this关键字 3: 它有一个prototype属性,这个prototype是一个对象(当然,其实每一个函数都有...

    jone5679 评论0 收藏0
  • Java23种设计模式与J2EE设计模式

    摘要:这个模式感觉一一般和工厂模式一起使用的比较多比较方便结构型模式这些设计模式关注类和对象的组合。设计模式这些设计模式特别关注表示层。 设计模式的的六大原则: 学习设计模式之前最好先了解一下设计模式的设计原则: 1. 开闭原则(open close principle) 开放即指对扩展开放,对修改关闭 简而言之,就是扩展功能的时候应该尽量的不修改原有的代码。 2. 里氏代换原则(lisko...

    andot 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<