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.
Trong bài tập này, mình sẽ tạo một hệ thống lớp động vật đơn giản trong TypeScript, bao gồm lớp cơ sở Animal và một số lớp con như Dog, Cat, và Bird, mô phỏng các đặc điểm riêng của từng loài động vật.
Lớp Animal và kế thừa trong TypeScript
class Animal {
constructor(public species: string, public sound: string) {}
makeSound(): void {
console.log(`${this.species} makes sound: ${this.sound}`);
}
}
class Dog extends Animal {
constructor() {
super("Dog", "Woof");
}
wagTail(): void {
console.log("Dog wags tail.");
}
}
class Cat extends Animal {
constructor() {
super("Cat", "Meow");
}
purr(): void {
console.log("Cat purrs.");
}
}
class Bird extends Animal {
constructor() {
super("Bird", "Tweet");
}
fly(): void {
console.log("Bird flies.");
}
}
// Sử dụng các lớp đã định nghĩa
const dog = new Dog();
dog.makeSound();
dog.wagTail();
const cat = new Cat();
cat.makeSound();
cat.purr();
const bird = new Bird();
bird.makeSound();
bird.fly();
class Animal { ... }:Định nghĩa lớp cơ sở Animal với các thuộc tính chung nhưspeciesvàsound, cũng như phương thứcmakeSound()để phát ra âm thanh tương ứng với loài động vật.class Dog extends Animal { ...},class Cat extends Animal { ... }, vàclass Bird extends Animal { ... }: Định nghĩa các lớp con kế thừa từ lớp Animal. Mỗi lớp con này có các thuộc tính và phương thức riêng biệt tương ứng với loài động vật 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 (Animal), truyền vào thông tin cần thiết chospeciesvà sound. - Mỗi lớp con cũng có các phương thức riêng, như
wagTail()choDog,purr()choCat, vàfly()choBird.
Kết quả
Khi chạy đoạn mã trên, mình sẽ nhận được kết quả sau:
Dog makes sound: Woof Dog wags tail. Cat makes sound: Meow Cat purrs. Bird makes sound: Tweet Bird flies.
Trong TypeScript, việc sử dụng kế thừa cho phép chúng ta tái sử dụng code và thiết kế các lớp một cách linh hoạt. Bằng cách kế thừa từ lớp cơ sở Animal, các lớp con Dog, Cat, và Bird có thể có các đặc điểm và hành vi riêng của chúng. Điều này giúp mình mô hình hóa và quản lý thông tin về các loài động vật khác nhau trong một hệ thống dễ dàng hơn.
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