请选择 进入手机版 | 继续访问电脑版

01BIM社区

 找回密码
 立即注册

扫一扫,访问微社区

查看: 462|回复: 1

<JS:类的寄生组合继承>

[复制链接]

156

主题

650

帖子

2568

积分

金牌会员

Rank: 6Rank: 6

积分
2568
发表于 2024-6-3 10:43:42 | 显示全部楼层 |阅读模式
<JS:类的寄生组合继承>


2024年6月3日

回复

使用道具 举报

156

主题

650

帖子

2568

积分

金牌会员

Rank: 6Rank: 6

积分
2568
 楼主| 发表于 2024-6-3 10:46:28 | 显示全部楼层
本帖最后由 tzbm123456 于 2024-6-3 10:48 编辑

// 父构造函数
    function Parent(name) {
        this.name = name;
    }   
// 父构造函数的原型方法
    Parent.prototype.sayName = function() {
        console.log('My name is ' + this.name);
    };
// 子构造函数
    function Child(name, age) {
        Parent.call(this, name); // 调用父构造函数,继承属性
        this.age = age;
    }

// 创建一个Parent的原型的实例,将其作为Child的原型
    Child.prototype = Object.create(Parent.prototype);
// 修正Child.prototype的构造器指向
    Child.prototype.constructor = Child;
// 重写sayName方法,新增('My age is ' + this.age)功能
    Child.prototype.sayName = function() {
        Parent.prototype.sayName.call(this);
        console.log('My age is ' + this.age);
    };

    cc=new Child('Tzbm',53);
             // cc.sayName()
             // My name is Tzbm
             // My age is 53

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|01BIM社区 - 最专业的BIM技术交流平台 ( 渝ICP备15000873号 )

GMT+8, 2024-7-18 18:41 , Processed in 0.386115 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表