Trong TypeScript, lớp (class) là một cấu trúc cơ bản trong lập trình hướng đối tượng, cho phép bạn tổ chức mã và xây dựng các đối tượng với các thuộc tính và phương thức. Việc sử dụng lớp giúp mã trở nên dễ đọc và bảo trì hơn, đồng thời cung cấp một cách tiếp cận có tổ chức để quản lý các đối tượng trong ứng dụng của bạn.
Cú pháp cơ bản để tạo một lớp
Dưới đây là cú pháp cơ bản để định nghĩa một lớp trong TypeScript:
class ClassName {
// Thuộc tính
propertyName: type;
// Constructor
constructor(parameter: type) {
this.propertyName = parameter;
}
// Phương thức
methodName(): returnType {
// Thực hiện một số hành động
}
}
Ví dụ về lớp trong TypeScript
Để hiểu rõ hơn về cách tạo và sử dụng lớp, dưới đây là một ví dụ đơn giản về lớp Person
, đại diện cho một người với tên và tuổi:
class Person {
// Thuộc tính
private name: string;
private age: number;
// Constructor
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
// Phương thức để hiển thị thông tin
public introduce(): void {
console.log(`My name is ${this.name} and I am ${this.age} years old.`);
}
}
// Sử dụng lớp
const person1 = new Person("Alice", 30);
person1.introduce(); // Output: "My name is Alice and I am 30 years old."
Phân tích ví dụ
- Khai báo lớp: Chúng ta định nghĩa lớp
Person
với hai thuộc tính: name
và age
. Các thuộc tính này được khai báo là private
, có nghĩa là chúng không thể được truy cập từ bên ngoài lớp.
- Constructor: Constructor là một phương thức đặc biệt được gọi khi tạo một thể hiện của lớp. Trong ví dụ trên, constructor nhận hai tham số (
name
và age
) và gán giá trị cho các thuộc tính tương ứng.
- Phương thức: Phương thức
introduce
được định nghĩa để hiển thị thông tin của đối tượng. Nó sử dụng thuộc tính của lớp để tạo ra một chuỗi và in ra màn hình.
- Tạo đối tượng: Cuối cùng, chúng ta tạo một thể hiện của lớp
Person
bằng cách sử dụng từ khóa new
, và gọi phương thức introduce
để in ra thông tin.
Kế thừa trong TypeScript
TypeScript hỗ trợ kế thừa, cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp khác. Dưới đây là ví dụ về cách sử dụng kế thừa:
class Employee extends Person {
private position: string;
constructor(name: string, age: number, position: string) {
super(name, age); // Gọi constructor của lớp cha
this.position = position;
}
public introduce(): void {
super.introduce(); // Gọi phương thức của lớp cha
console.log(`I work as a ${this.position}.`);
}
}
// Sử dụng lớp Employee
const employee1 = new Employee("Bob", 28, "Developer");
employee1.introduce();
// Output:
// My name is Bob and I am 28 years old.
// I work as a Developer.
Phân tích ví dụ kế thừa
- Kế thừa: Lớp
Employee
kế thừa từ lớp Person
, sử dụng từ khóa extends
. Điều này cho phép lớp Employee
sử dụng các thuộc tính và phương thức của lớp Person
.
- Gọi constructor của lớp cha: Trong constructor của lớp
Employee
, chúng ta sử dụng từ khóa super
để gọi constructor của lớp cha và khởi tạo các thuộc tính kế thừa.
- Ghi đè phương thức: Phương thức
introduce
trong lớp Employee
ghi đè phương thức cùng tên trong lớp Person
. Chúng ta có thể gọi phương thức của lớp cha bằng cách sử dụng super.introduce()
.
Kết luận
Việc tạo lớp trong TypeScript là một phương pháp mạnh mẽ để tổ chức và quản lý mã của bạn trong các ứng dụng lớn và phức tạp. Lớp cho phép bạn sử dụng các thuộc tính và phương thức để tạo ra các đối tượng, giúp mã trở nên rõ ràng và dễ bảo trì hơn. Với khả năng kế thừa, TypeScript cung cấp tính năng linh hoạt để xây dựng cấu trúc mã mạnh mẽ và hiệu quả. Hãy áp dụng các khái niệm này để tạo ra những ứng dụng tốt hơn trong dự án của bạn!