继承 经典继承/混合继承/组合式继承及原型

原型(prototype)、原型链和原型继承关系

继承 经典继承/混合继承 /组合式继承    

            一、

            当B构造函数继承A构造函数的时候,

            在B构造函数中 借用父构造函数继承父构造函数的属性  代码:A.call(this,参数)

            二、

            通过 B构造函数的.prototype.方法名=A构造函数.prototype.方法名 来继承原型上的方法

原型:prototype 

            在构造函数的原型上,添加一个方法,

            通过这个构造函数创建出来的对象,都共用原型上的方法 (一个say方)

   function A(name,age){

            this.name = name;

            this.age = age;

        }

        // 让所有 用A构造函数创建出来的对象 都共用原型上的方法 (一个say方)   原型:

        A.prototype.say =function(){

            console.log(this.name,this.age)

        }

        function B(name,age,gender){

            var gender = gender;

            //  借用父构造函数   继承父构造函数的属性

            A.call(this,name,age);  

        }

        B.prototype.say = A.prototype.say;

        var b = new B('张三',20);

        b.say();

网站打印的结果如下图,

继承的知识点与其说是对象的继承,更像是函数的功能用法,如何用函数做到复用,组合,这些和使用继承的思考是一样的。

继承模式的学习重点是学它们的思想,原型式继承它用函数复制了内部对象的一个副本,这样不仅可以继承内部对象的属性,还能把函数(对象,来源内部对象的返回)随意调用,给它们添加属性,改个参数就可以改变原型对象,而这些新增的属性也不会相互影响。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容