面向对象编程是 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() { /* ... */ }
实践示例 🛠️
- 创建类与对象
class Car { constructor(brand) { this.brand = brand; this.wheels = 4; } start() { return `${this.brand} 开始启动`; } } const myCar = new Car('Tesla'); console.log(myCar.start()); // 输出:Tesla 开始启动
- 继承与扩展
class ElectricCar extends Car { constructor(brand) { super(brand); this.type = 'Electric'; } charge() { return `${this.brand} 充电完成`; } }
- 封装与访问控制
class BankAccount { #balance = 0; // 私有字段 deposit(amount) { this.#balance += amount; } getBalance() { return this.#balance; } }