赞助
posts - 449,comments - 12,views - 11万
        // 构造函数
        //     本质还是一个函数
        //     是一个专门生成对象的函数
        //     生成的这个对象,有属性属性值,还有函数方法

        // 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,父类的所有方法都会继承
posted on   Tsunami黄嵩粟  阅读(114)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏