封装
封装是面向对象编程中的一个重要特性,指的是将对象的状态(属性)和行为(方法)绑定在一起,并隐藏对象的实现细节,只暴露必要的接口。JavaScript通过类(class)和对象字面量(object literal)来实现封装。
class Person {// 构造方法constructor(name, age) {this._name = name; // 私有属性this._age = age; // 私有属性}// 公开方法getName() {return this._name;}setName(name) {this._name = name;}getAge() {return this._age;}setAge(age) {this._age = age;}
}const person = new Person('Alice', 30);
console.log(person.getName()); // 输出: Alice
person.setAge(31);
console.log(person.getAge()); // 输出: 31
方法重载
JavaScript 不像一些其他语言(如 Java)那样支持直接的方法重载。方法重载通常是指同一个方法名可以有不同的参数类型和数量判断。在 JavaScript 中,通常通过检查函数参数来模拟重载的效果。
function greet(name, age) {if (arguments.length === 1) {console.log(`Hello, ${name}`);} else if (arguments.length === 2) {console.log(`Hello, ${name}, age ${age}`);} else {console.log("Hello, unknown");}
}greet("Alice"); // Hello, Alice
greet("Alice", 30); // Hello, Alice, age 30
构造方法
构造方法是用来创建和初始化对象的特殊方法。在 JavaScript 中,构造方法通常是类中的 constructor
方法。构造方法会在实例化对象时自动调用。
class Person {// 构造方法constructor(name, age) {this.name = name;this.age = age;}
}const person = new Person('panda', 25);
console.log(person.name); // 输出: panda
console.log(person.age); // 输出: 25
总结
- 封装通过类和方法隐藏对象的内部实现。
- 方法重载可以通过检查参数类型和数量来实现。
- 构造方法用于初始化对象的属性。
- 构造代码块可以在构造方法内用代码块来实现初始化逻辑。
更多资源
Class 的基本语法 - ECMAScript 6入门