Tạo quản lý xe với TypeScript
Tạo lớp cơ sở Vehicle và các lớp con kế thừa từ nó là một cách tuyệt vời để tổ chức và quản lý thông tin về các loại phương tiện khác nhau. Trong bài tập này, mình sẽ bắt đầu tìm hiểu với lớp cơ sở Vehicle, sau đó tạo các lớp con Car, Motorcycle, và Truck.
Định nghĩa lớp cơ sở Vehicle
class Vehicle {
constructor(public brand: string, public model: string, public year: number) {}
startEngine(): void {
console.log("Đã khởi động động cơ.");
}
stopEngine(): void {
console.log("Đã tắt động cơ.");
}
}
class Car extends Vehicle {
constructor(brand: string, model: string, year: number, public type: string) {
super(brand, model, year);
this.type = type;
}
drive(): void {
console.log(`Đang lái xe ${this.year} ${this.brand} ${this.model} loại ${this.type}.`);
}
}
class Motorcycle extends Vehicle {
constructor(brand: string, model: string, year: number, public category: string) {
super(brand, model, year);
this.category = category;
}
wheelie(): void {
console.log(`Thực hiện một động tác Wheelie với xe máy ${this.year} ${this.brand} ${this.model} thuộc loại ${this.category}.`);
}
}
class Truck extends Vehicle {
constructor(brand: string, model: string, year: number, public capacity: number) {
super(brand, model, year);
this.capacity = capacity;
}
loadCargo(): void {
console.log(`Đang tải hàng vào xe tải ${this.year} ${this.brand} ${this.model} với dung tích ${this.capacity} kg.`);
}
}
// Sử dụng các lớp đã định nghĩa
const car = new Car("Toyota", "Corolla", 2022, "Sedan");
car.startEngine();
car.drive();
const motorcycle = new Motorcycle("Harley-Davidson", "Street 750", 2021, "Cruiser");
motorcycle.startEngine();
motorcycle.wheelie();
const truck = new Truck("Ford", "F-150", 2019, 2000);
truck.startEngine();
truck.loadCargo();
class Vehicle { ... }:Định nghĩa lớp cơ sở Vehicle với các thuộc tính nhưbrand,model,yearvà các phương thức nhưstartEngine()vàstopEngine().- Các lớp con
Car,Motorcycle, vàTruckkế thừa từVehicle, mỗi lớp con có các thuộc tính và phương thức riêng biệt, phù hợp với loại phương tiện tương ứng. - Trong hàm
constructorcủa mỗi lớp con, chúng ta gọisuper()để gọi hàmconstructorcủa lớp cha (Vehicle), truyền vào thông tin cần thiết cho các thuộc tính chung. - Mỗi lớp con cũng có các phương thức riêng biệt, như
drive()choCar,wheelie()choMotorcycle, vàloadCargo()choTruck.
Kết quả
Khi chạy đoạn mã trên, mình sẽ nhận được kết quả sau:
Đã khởi động động cơ. Đang lái xe 2022 Toyota Corolla loại Sedan. Đã khởi động động cơ. Thực hiện một động tác Wheelie với xe máy 2021 Harley-Davidson Street 750 thuộc loại Cruiser. Đã khởi động động cơ. Đang tải hàng vào xe tải 2019 Ford F-150 với dung tích 2000 kg.
Đây chỉ là ví dụ, kết quả sẽ phụ thuộc vào việc môi trường thực thi mã và cách định nghĩa các hàm trong TypeScript.
Việc sử dụng kế thừa giúp mình có thể xây dựng các lớp con với các thuộc tính và hành vi riêng biệt, đồng thời vẫn kế thừa các phương thức và thuộc tính từ lớp cơ sở Vehicle. Điều này giúp tạo ra một cấu trúc dễ quản lý và tái sử dụng linh hoạt.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo quản lý nhân viên với TypeScript
- Tạo hệ thống quản lý học viên với TypeScript
- Tạo lớp Animal với các thuộc tính và phương thức chung cho động vật với TypeScript.
- Tạo lớp cơ sở Component đại diện cho một thành phần giao diện trong TypeScript.
- Tạo quản lý xe với TypeScript
- Tạo lớp hình học với TypeScript
- Xây dựng hệ thống ngân hàng trong Typescript

Các hàm xử lý chuỗi trong Javascript (cắt / tách / nối chuỗi ..)
Chia lấy phần dư / chia lấy phần nguyên trong javascript
Các cách khai báo biến trong Javascript
Các sự kiện (Event) trong Javascript
Hướng tạo thanh search bar bằng CSS
Hàm array.slice() trong Javascript
Tính tổng hai số bằng Javascript (cộng hai số)
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng