构造函数的继承

        // 构造函数
        //     本质还是一个函数
        //     是一个专门生成对象的函数
        //     生成的这个对象,有属性属性值,还有函数方法

        // ES5的构造函数语法
        function CreateObj1(name,age){
            this.name = name;
            this.age = age;
        }
        createObj1.prototype.fun = function(){
            console.log('我是ES5语法创建的实例化对象')
        }

        // ES6的构造函数语法
        class CreateObj2{
            constructor(name,age){
                this.name = name;
                this.age = age;
            }
            fun(){
                console.log('我是ES6语法创建的实例化对象')
            }
        }

        // 所谓的继承
        // 创建新的构造函数时,有一些属性或者方法,与之前的构造函数相同
        // 为了节约代码,可以从之前的构造函数中,继承属性和方法
        // 对不同的属性和方法,再重新定义
        // 为了生成构造函数时,节约代码
 
// ES6 构造函数的继承语法

        // 1, ES5 或者 ES6 先声明一个构造函数

        // 父类构造函数
        function CreateObj1(name,age){
            this.name = name;
            this.age = age;
        }
        CreateObj1.prototype.fun = function(){
            console.log('我是ES5语法创建的实例化对象')
        }

        // 继承父类构造函数的属性和方法
        // 在继承父类属性的同时,也会继承父类所有的方法

        class Son extends CreateObj1{
            constructor(name,age,sex){
                super(name);
                this.age = age;
                this.sex = sex;
            }

            fun2(){
                console.log('我是自己的fun')
            }
        }

        const obj1 = new Son( '张三' , 18 ,'男');
        console.log(obj1);


        // 总结:
        // 1,继承语法 
        //   class 子类构造函数名称 extends 父类构造函数名称{}
        // 2,constructor 构造器中,定义参数
        //   参数可以是从父级继承来的,也可以是子类自己定义的
        //   从父类继承的属性必须用 super(属性) 来定义
        //   可以继承父类所有的属性或者一部分属性
        // 3,也可以定义子类的属性和子类的方法
        // 4,父类的所有方法都会继承
右侧打赏一下 代码改变世界一块二块也是爱
原文地址:https://www.cnblogs.com/ht955/p/14145190.html