<<< Bài viết trước: Sử dụng Class để xây dựng các đối tượng và quản lý tính đóng gói
=>> Đề xuất: Học lập trình qua video với Quý tại đây
Các thuộc tính (properties), phương thức (methods) và hàm khởi tạo (contructor) là một trong những khái niệm quan trọng trong lập trình hướng đối tượng nói chung và TypeScript nói riêng. Sau đây chúng ta sẽ đi tìm hiểu nhanh khái niệm và cách sử dụng.
Thuộc tính (property) trong TypeScript là một biến được liên kết với đối tượng. Nó có thể là các giá trị đại diện cho trạng thái của đối tượng, ví dụ như tên, tuổi, địa chỉ,...
Khi khai báo các thuộc tính (properties) và cả phương thức (methods) của một đối tượng trong TypeScript, bạn cần thêm chúng vào trong class definition.
Để khai báo thuộc tính, bạn cần khai báo tên thuộc tính và kiểu dữ liệu mà nó sẽ chứa.
Ví dụ:
class Employee {
firstName: string;
lastName: string;
}
Phương thức (method) trong TypeScript là một hàm được liên kết với đối tượng và có thể truy cập và sử dụng các thuộc tính của đối tượng. Nó có thể được sử dụng để thực hiện các tác vụ nhất định, ví dụ như tính toán, cập nhật trạng thái, ...
Để khai báo phương thức, bạn cần khai báo tên phương thức, kiểu trả về của phương thức (nếu có) và các tham số (nếu có).
Ví dụ:
class Employee {
firstName: string;
lastName: string;
getFullName() {
return `${this.firstName} ${this.lastName}`;
}
}
Trong đó, this
là từ khóa dùng để truy cập các thuộc tính và phương thức trong class.
Constructor là một phương thức được sử dụng để khởi tạo giá trị mặc định cho các thuộc tính của đối tượng khi đối tượng được tạo mới. Constructor luôn được gọi khi một đối tượng được tạo mới bằng từ khóa "new".
Ví dụ:
class Employee {
firstName: string;
lastName: string;
constructor(firstName: string, lastName: string) {
this.firstName = firstName;
this.lastName = lastName;
}
}
const employee = new Employee("John", "Doe");
Trong ví dụ trên, constructor của lớp Employee được sử dụng để khởi tạo giá trị cho hai thuộc tính firstName và lastName khi đối tượng employee được tạo mới.
Cuối cùng khi áp dụng cả 3 khái niệm ta có một ví dụ chung như sau: (Áp dụng thêm tham số truyền vào cho phương thức)
class Employee {
firstName: string;
lastName: string;
constructor(firstName: string, lastName: string) {
this.firstName = firstName;
this.lastName = lastName;
}
getFullName(prefix: string): string {
return `${prefix} ${this.firstName} ${this.lastName}`;
}
}
const employee = new Employee("John", "Doe");
console.log(employee.getFullName("Mr."));
Trong ví dụ trên, chúng ta đã khai báo một phương thức getFullName
trong class Employee
. Phương thức này có một tham số prefix
kiểu string
và trả về một giá trị kiểu string
. Khi gọi phương thức getFullName
với tham số truyển vào "Mr.", nó sẽ trả về chuỗi "Mr. John Doe".
=>> Đề xuất: Học lập trình qua video với Quý tại đây
>>> Bài kế tiếp: Sử dụng inheritance (extends) để kế thừa, tạo class con