面向对象编程是 JavaScript 中组织代码的核心方式之一,通过 类(Class)对象(Object)继承(Inheritance)封装(Encapsulation)多态(Polymorphism) 等特性实现模块化开发。以下是关键概念解析:

核心概念 🧠

  • :模板,定义对象的属性和方法
    class Person { /* ... */ }
    
  • 对象:类的实例,具有具体数据
    const p = new Person(); // 创建对象
    
  • 构造函数:用于初始化对象属性
    constructor(name) { this.name = name; }
    
  • 继承:通过 extends 实现类的扩展
    class Student extends Person { /* ... */ }
    
  • 封装:将数据和行为包装在类中,通过 private 关键字限制访问
    #privateProperty = 'secret'; // 私有属性
    
  • 多态:子类重写父类方法实现不同行为
    override greet() { /* ... */ }
    

实践示例 🛠️

  1. 创建类与对象
    class Car {
      constructor(brand) {
        this.brand = brand;
        this.wheels = 4;
      }
      start() {
        return `${this.brand} 开始启动`;
      }
    }
    const myCar = new Car('Tesla');
    console.log(myCar.start()); // 输出:Tesla 开始启动
    
  2. 继承与扩展
    class ElectricCar extends Car {
      constructor(brand) {
        super(brand);
        this.type = 'Electric';
      }
      charge() {
        return `${this.brand} 充电完成`;
      }
    }
    
  3. 封装与访问控制
    class BankAccount {
      #balance = 0; // 私有字段
      deposit(amount) {
        this.#balance += amount;
      }
      getBalance() {
        return this.#balance;
      }
    }
    

扩展阅读 📚

面向对象编程
类_构造函数
继承