初探 TypeScript 中的类:揭开面向对象编程的序幕
2023-12-24 14:24:05
面向对象编程(OOP)是一种软件设计范式,它将数据和行为组织成对象,而这些对象可以相互协作以完成任务。在 JavaScript 中,类是一种语法结构,它允许您创建对象并定义它们的属性和方法。
类的理解
类是 TypeScript 中用来创建对象的模板。它定义了对象的属性和方法,以及对象的行为。每个类都有一个构造函数,它在创建对象时被调用。构造函数用于初始化对象的属性。
类的创建
要创建一个类,可以使用以下语法:
class Person {
// 属性
name: string;
age: number;
// 方法
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
在这个例子中,我们创建了一个名为 Person 的类,它有两个属性:name 和 age,以及一个方法 greet()。
类的成员
类的成员包括属性和方法。属性是对象的特性,而方法是对象可以执行的操作。
类的属性
类的属性可以是公共的、受保护的或私有的。公共属性可以在类的任何地方访问,受保护的属性只能在类及其子类中访问,而私有属性只能在类中访问。
class Person {
// 公共属性
name: string;
// 受保护属性
protected age: number;
// 私有属性
private address: string;
// 方法
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
类的构造函数
类的构造函数在创建对象时被调用。它用于初始化对象的属性。
class Person {
constructor(name: string, age: number, address: string) {
this.name = name;
this.age = age;
this.address = address;
}
// 方法
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
在这个例子中,我们创建了一个名为 Person 的类,它有一个构造函数,用于初始化对象的属性。
类的继承
类可以继承其他类,这意味着子类可以继承父类的属性和方法。
class Employee extends Person {
// 属性
salary: number;
// 方法
work() {
console.log(`I am working.`);
}
}
在这个例子中,我们创建了一个名为 Employee 的类,它继承了 Person 类。Employee 类具有 Person 类的所有属性和方法,以及一个额外的属性 salary 和一个方法 work()。
类的多态
多态是指子类可以以不同的方式实现父类的方法。
class Person {
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
class Employee extends Person {
greet() {
super.greet();
console.log(`I am an employee.`);
}
}
class Student extends Person {
greet() {
super.greet();
console.log(`I am a student.`);
}
}
const person = new Person('John', 30);
const employee = new Employee('Mary', 25);
const student = new Student('Bob', 20);
person.greet();
employee.greet();
student.greet();
在这个例子中,我们创建了三个类:Person、Employee 和 Student。Employee 类和 Student 类都继承了 Person 类。Person 类有一个方法 greet()。Employee 类和 Student 类都覆盖了 greet() 方法,并以不同的方式实现了它。
总结
类是 TypeScript 中用来创建对象的模板。它定义了对象的属性和方法,以及对象的行为。类的成员包括属性和方法。属性是对象的特性,而方法是对象可以执行的操作。类的属性可以是公共的、受保护的或私有的。类的构造函数在创建对象时被调用。它用于初始化对象的属性。类可以继承其他类,这意味着子类可以继承父类的属性和方法。多态是指子类可以以不同的方式实现父类的方法。