js基于原型和class的面向对象-继承

简介: js基于原型和class的面向对象-继承

一、基于原型的类继承

1、父类

// 父类构造方法
function Animal(name) {
    // 属性
    this.name = name
}
// 父类方法
Animal.prototype.echoName = function () {
    console.log(this.name);
}

2、子类

// 子类构造方法
function Dog(name, age) {
    // 调用父类构造函数
    Animal.call(this, name)
    this.age = age
}
// 子类继承父类的原型
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
// 子类方法
Dog.prototype.sayHello = function () {
    console.log(this.name, this.age);
}

3、实例化

// 实例化父类
var animal = new Animal('Tom')
animal.echoName()
// 实例化子类
var dog = new Dog('Tom', 23)
dog.echoName()
dog.sayHello()

二、基于class的类继承

JavaScrip从ES6开始正式引入关键字class


1、父类

class Animal {
    // 构造方法
    constructor(name) {
        // 属性
        this.name = name
    }
    // 父类方法
    echoName() {
        console.log(this.name);
    }
}

2、子类

class Dog extends Animal {
    // 构造方法
    constructor(name, age) {
        // 调用父类构造函数
        super(name)
        this.age = age
    }
    sayHello() {
        console.log(this.name, this.age);
    }
}

3、实例化

// 实例化父类
var animal = new Animal('Tom')
animal.echoName()
// 实例化子类
var dog = new Dog('Tom', 23)
dog.echoName()
dog.sayHello()
相关文章
|
存储 小程序 编译器
C语言数据的存储(上)
C语言数据的存储
1773 1
|
人工智能 自然语言处理 算法
AI与API结合:自动解析商品描述+情感分析评论数据
AI与API深度融合正在重塑电商运营模式。通过自动解析商品描述、分析评论情感,企业可实现信息标准化、用户画像精准化及运营决策自动化。本文从技术架构、核心算法、实战案例三方面,详解AI如何驱动电商智能化升级。
|
缓存 负载均衡 算法
有哪些方法可以提高硬件负载均衡设备的性能?
有哪些方法可以提高硬件负载均衡设备的性能?
533 58
|
数据库 对象存储
2025年 | 6月云大使推广奖励规则
云大使618活动上线。推荐首购达标,激励层层加码;月度消费达标,冲刺赢惊喜。最高可获得9万奖励;
|
存储 人工智能 缓存
AI变革药物研发:深势科技的云原生实践之路
阿里云助力深势科技推出创新的玻尔Bohrium®科研云平台和Hermite®药物计算设计平台,并持续完善。这两项先进的工业设计与仿真基础设施成果通过AI技术赋能科学研究和工业研发,不仅大幅缩短了药物研发周期,降低了成本,还显著提高了研发成功率,为生物医药行业带来了前所未有的变革,这是AI for Science领域的重大突破。
1110 38
|
存储 SQL BI
大型医院HIS,EMR,LIS,PACS源码
本产品支持信创,适用于三级及大中型医院,涵盖全面业务系统,助力医共体与单体医院发展。系统包括门诊和住院医生工作站、护士工作站、电子病历(EMR)、实验室信息系统(LIS)、放射科室管理(PACS/RIS)等模块,实现医院信息化建设目标。功能覆盖人性化服务、集成化管理、智能化操作、无纸化与无胶片化流程,优化医疗资源,提升医疗服务效率与质量,打造现代化数字医院。支持多系统接口与数据交换,满足医保需求,提供统计分析与权限管理,确保信息准确、安全、高效流转。
|
监控 Linux
Linux 运行进程实时监控pidstat命令详解
Linux 运行进程实时监控pidstat命令详解
544 0
|
前端开发 安全 测试技术
交互式网页
【10月更文挑战第8天】交互式网页
486 3
|
XML 数据格式 Python
Python技巧:将HTML实体代码转换为文本的方法
在选择方法时,考虑到实际的应用场景和需求是很重要的。通常,使用标准库的 `html`模块就足以满足大多数基本需求。对于复杂的HTML文档处理,则可能需要 `BeautifulSoup`。而在特殊场合,或者为了最大限度的控制和定制化,可以考虑正则表达式。
888 12
|
存储 弹性计算 网络协议
阿里云服务器经济型e、通用算力型u1与c7/g7/r7/c8y/g8y/r8y实例区别及选择参考
在阿里云目前的各个活动中,除了轻量应用服务器之外,活动内的云服务器实例规格主要以经济型e、通用算力型u1、计算型c7/c8y、通用型g7/g8y、内存型r7/r8y这几个实例规格为主,c7/c8y属于计算型实例,g7/g8y属于通用型实例,c7/r8y属于内存型实例,c7/g7/r7属于最新第七代云服务器实例,c8y/g8y/r8y属于倚天云服务器实例,不同的云服务器实例规格在性能、特点及适用场景上有所不同,本文大家介绍一下阿里云服务器经济型e、通用算力型u1与c7/g7/r7/c8y/g8y/r8y的区别,以供参考。
阿里云服务器经济型e、通用算力型u1与c7/g7/r7/c8y/g8y/r8y实例区别及选择参考