什么是面向对象编程?

面向对象编程(OOP)是一种编程范式,通过对象将数据和操作数据的方法绑定在一起。JavaScript虽为原型链语言,但通过class语法支持OOP特性。

  • 核心概念
    • 类(Class)
    • 对象(Object)
    • 属性(Property)
    • 方法(Method)
    • 继承(Inheritance)
    • 封装(Encapsulation)
    • 多态(Polymorphism)
Class_Design

JavaScript中的OOP实践

1. 类与构造函数

使用class定义类,通过constructor初始化对象:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  // 方法
  describe() {
    return `${this.name} is ${this.age} years old.`;
  }
}

2. 继承与扩展

通过extends实现继承,例如:

class Student extends Person {
  constructor(name, age, grade) {
    super(name, age);
    this.grade = grade;
  }
  describe() {
    return `${super.describe()} Grade: ${this.grade}`;
  }
}
Inheritance_Example

3. 静态方法与属性

使用static定义与类关联但不依赖实例的方法:

class MathUtils {
  static add(a, b) {
    return a + b;
  }
}

推荐学习路径 🚀

常见问题解答 ❓

  • Q: JavaScript的OOP和原型链有何区别?
    A: class是语法糖,本质基于原型链实现。
  • Q: 如何避免继承中的方法覆盖?
    A: 使用super调用父类方法或Object.getPrototypeOf()
JavaScript_OOP_Overview

点击 这里 进入基础课程,巩固知识后再深入OOP!📚