javascript如何实现面向对象编程_类和继承如何使用

admin 百科 23
JavaScript面向对象编程主要依靠class语法(ES6+)和原型继承机制,class是原型操作的语法糖;通过constructor初始化属性,extends实现继承并需调用super,支持静态方法、私有字段(#)及getter/setter。

javascript如何实现面向对象编程_类和继承如何使用-第1张图片-佛山资讯网

JavaScript 实现面向对象编程(OOP)主要靠 class 语法(ES6+)和基于原型的继承机制。虽然 JS 本质是基于原型的语言,但 class 提供了更清晰、接近传统 OOP 的写法,实际仍是语法糖,底层仍操作 prototype

定义类与实例化对象

class 关键字声明类,内部用 constructor() 初始化实例属性,其他方法直接写在类体中(自动挂载到原型上):

class Animal {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  speak() {
    console.log(`${this.name} 发出声音`);
  }
}
<p>const dog = new Animal('旺财', 3);
dog.speak(); // 旺财 发出声音

登录后复制

使用 extends 实现继承

子类通过 extends 继承父类,必须在构造函数中调用 super()(传参给父类 constructor),才能访问 this

  • 子类可重写父类方法(方法覆盖)
  • 可用 super.方法名() 调用父类同名方法
  • 静态方法、getter/setter 同样可被继承或覆盖

class Dog extends Animal {
  constructor(name, age, breed) {
    super(name, age); // 必须先调用 super
    this.breed = breed;
  }
  speak() {
    console.log(`${this.name} 汪汪叫!`);
  }
  info() {
    console.log(`品种:${this.breed}, 年龄:${this.age}`);
  }
}
<p>const myDog = new Dog('小黑', 2, '拉布拉多');
myDog.speak(); // 小黑 汪汪叫!
myDog.info();  // 品种:拉布拉多, 年龄:2

登录后复制

静态方法与私有字段(可选增强)

类支持 static 方法(直接通过类名调用,不依赖实例),也支持私有字段(# 开头,仅类内可访问):

立即学习“Java免费学习笔记(深入)”;

标签: javascript es6 java js 面向对象编程 speak

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~

趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官
趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官