Viết một lớp EventListener có một phương thức listen() để lắng nghe các sự kiện trong TypeScript
Trong bài viét này mình sẽ xây dựng một hệ thống xử lý sự kiện âm thanh bằng cách viết một lớp EventListener có khả năng lắng nghe các sự kiện âm thanh từ các đối tượng Animal trong TypeScript.
Lưu ý: Mình sẽ tập trung vào việc quản lý và xử lý các sự kiện âm thanh từ các đối tượng khác nhau.
Định nghĩa lớp EventListener và phương thức listen()
Trước hết, mình sẽ định nghĩa lớp EventListener
với phương thức listen()
để lắng nghe các sự kiện âm thanh từ các đối tượng Animal.
class EventListener { listen(animal: Animal): void { animal.makeSound(); } }
Xác định lớp Animal và phương thức makeSound()
Tiếp theo, mình cần định nghĩa lớp Animal với phương thức makeSound()
để cho phép các đối tượng Animal phát ra âm thanh đặc trưng.
class Animal { makeSound(): void { // Để bổ sung sau } }
Định nghĩa lại phương thức makeSound()
cho mỗi loài động vật
Mình cần định nghĩa lại phương thức makeSound()
trong mỗi lớp động vật cụ thể để chúng có thể phát ra âm thanh đặc trưng.
class Dog extends Animal { makeSound(): void { console.log("Gâu gâu!"); // Kêu của chó } } class Cat extends Animal { makeSound(): void { console.log("Meo meo!"); // Kêu của mèo } } class Bird extends Animal { makeSound(): void { console.log("Chích chòe!"); // Kêu của chim } }
Tạo một EventListener và lắng nghe sự kiện âm thanh
Cuối cùng , mình sẽ tạo một đối tượng EventListener
và sử dụng phương thức listen()
để lắng nghe sự kiện âm thanh từ các đối tượng Animal.
const eventListener = new EventListener(); // Tạo các đối tượng Animal và lắng nghe sự kiện âm thanh eventListener.listen(new Dog()); eventListener.listen(new Cat()); eventListener.listen(new Bird());
Kết quả
Mã lệnh trên xây dựng một hệ thống xử lý sự kiện âm thanh, cho phép lớp EventListener
lắng nghe các sự kiện âm thanh từ các đối tượng Animal. Khi gọi phương thức listen()
, mình nhận được âm thanh đặc trưng của mỗi loài động vật:
Gâu gâu! Meo meo! Chích chòe!
Hệ thống xử lý sự kiện âm thanh này minh họa cách một lớp EventListener
có thể lắng nghe các sự kiện từ các đối tượng khác nhau và xử lý chúng một cách linh hoạt trong TypeScript.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Viết một lớp Triangle để tính diện tích và chu vi của một tam giác trong TypeScript.
- Tạo một lớp Shape và phương thức để tính diện tích,chu vi của hình vuông trong TypeScript.
- Tính diện tích và chu vi của các hình tròn và hình ellipse trong TypeScript.
- Tạo một lớp Rectangle và một lớp con là Parallelogram tính diện tích và chu vi của hình chữ nhật trong TypeScript.
- Viết một lớp Octagon để tính diện tích và chu vi của một hình bát giác trong TypeScript.
- Tạo lớp Pentagon và tính diện tích và chu vi của một hình ngũ giác đều trong TypeScript.
- Tạo lớp Hexagon để tính diện tích và chu vi của một hình lục giác trong TypeScript.
- Tạo lớp Animal với makeSound() trống,để tạo lớp con Dog, Cat, và Bird trong TypeScript.
- Tạo một chương trình người dùng nhập vào danh sách các đối tượng thuộc các lớp Dog, Cat, và Bird trong TypeScript.
- Xây dựng một lớp Zoo để quản lý các đối tượng Animal trong TyprScript.
- Viết một lớp EventListener có một phương thức listen() để lắng nghe các sự kiện trong TypeScript