前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Javascript实现继承的几种方式

Javascript实现继承的几种方式

作者头像
王小婷
发布2023-10-23 09:38:22
1910
发布2023-10-23 09:38:22
举报
文章被收录于专栏:编程微刊编程微刊

在 JavaScript 中,实现继承有多种方式。以下是其中几种常见的方式:

1:原型链继承: 原型链继承是通过将一个对象的实例作为另一个对象的原型来实现继承关系。子对象通过原型链可以访问父对象的属性和方法。

示例:

代码语言:javascript
复制
function Parent() {
  this.name = "Parent";
}

Parent.prototype.sayHello = function() {
  console.log("Hello, I'm " + this.name);
};

function Child() {
  this.name = "Child";
}

Child.prototype = new Parent();

const child = new Child();
child.sayHello(); // 输出: Hello, I'm Child

2:构造函数继承: 构造函数继承是通过在子对象的构造函数中调用父对象的构造函数来实现继承。这种方式可以实现属性的继承,但无法继承父对象原型上的方法。

示例:

代码语言:javascript
复制
function Parent() {
  this.name = "Parent";
}

function Child() {
  Parent.call(this);
  this.name = "Child";
}

const child = new Child();
console.log(child.name); // 输出: Child

3:组合继承: 组合继承是将原型链继承和构造函数继承结合起来的一种方式。通过调用父对象的构造函数实现属性的继承,并将子对象的原型设置为父对象的实例,实现方法的继承。

示例:

代码语言:javascript
复制
function Parent() {
  this.name = "Parent";
}

Parent.prototype.sayHello = function() {
  console.log("Hello, I'm " + this.name);
};

function Child() {
  Parent.call(this);
  this.name = "Child";
}

Child.prototype = new Parent();
Child.prototype.constructor = Child;

const child = new Child();
child.sayHello(); // 输出: Hello, I'm Child

4:ES6 的类继承: 在 ES6 中引入了类的概念,可以使用 extends 关键字来实现类的继承。子类通过 super 关键字调用父类的构造函数和方法。

示例:

代码语言:javascript
复制
class Parent {
  constructor() {
    this.name = "Parent";
  }

  sayHello() {
    console.log("Hello, I'm " + this.name);
  }
}

class Child extends Parent {
  constructor() {
    super();
    this.name = "Child";
  }
}

const child = new Child();
child.sayHello(); // 输出: Hello, I'm Child
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档