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ưspecies
và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
constructor
của mỗi lớp con, chúng ta gọisuper()
để gọi hàmconstructor
của lớp cha (Animal), truyền vào thông tin cần thiết chospecies
và 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