TYPESCRIPT 2.X CĂN BẢN
Hàm trong TypeScript Sử dụng hàm generics Sử dụng hàm generics trong TypeScript Sử dụng Array trong TypeScript Sử dụng Tuple trong TypeScript Sử dụng kiểu Array, Tuple, Enum trong TypeScript Interface trong Typescript Hybrid Types với Interface trong TypeScript Khác biệt khi sử dụng 'type' và 'interface' trong TypeScript Cách dùng Enum trong TypeScript Types và interface trong TypeScript Class trong TypeScript Sử dụng Abstract Classes trong TypeScript Sử dụng Interface trong Typescript (phần 2) Sử dụng Casting trong TypeScript Tìm hiểu về Generics trong TypeScript Tìm hiểu về utility types trong Typescript Utility types phổ biến trong Typescript Sử dụng default parameters trong TypeScript Modules trong TypeScript Rest Parameters trong TypeScript Sử dụng Function Overloadings trong TypeScript Sử dụng Type Assertions trong TypeScript Sử dụng Static Methods và Properties trong TypeScript. Sử dụng Access Modifiers trong TypeScript 10 mẹo và thủ thuật hay nhất trong TypeScript 5 Cách giúp bạn loại bỏ "any" trong TypeScript Mapped Types trong TypeScript Dependency Injection trong Typescript 5 ký hiệu khó hiểu cần biết trong TypeScript Cách sử dụng @ts-expect-error trong Typescript Declaration Merging trong TypeScript Tìm hiểu Branded Type trong TypeScript Namespaces trong Typescript Phân biệt Modules và Namespaces trong TypeScript Triple-Slash Directives trong TypeScript là gì? Phần 1: Biến trong TypeScript Phần 2: Biến trong TypeScript Property trong TypeScript Phân tích JSON trong TypeScript Bài tập TypeScript: Các dạng bài tập cơ bản Bài tập TypeScript: Lập trình Hướng đối tượng trong TypeScript Bài tập TypeScript: Kiểu Generic Types trong Typescript Bài tập TypeScript: Các kiểu dữ liệu mảng và tuple. Bài tập TypeScript: Classes và Inheritance trong Typescript Bài 01: TypeScript là gì? TypeScript và Javascript Bài 02: Cài đặt TypeScript Bài 03: TypeScript Basic Types Bài 04: Khai báo biến trong TypeScript Bài 05: Lệnh If Else và Switch Case trong TypeScript Bài 06: Vòng lặp trong TypeScript
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Xây dựng một lớp Zoo để quản lý các đối tượng Animal trong TyprScript.

Trong bài viết này sẽ xây dựng một lớp Zoo để quản lý các đối tượng Animal. Zoo sẽ có khả năng thêm đối tượng Animal vào danh sách của nó và in ra âm thanh mà mỗi đối tượng Animal trong Zoo kêu.

Lưu ý: Trong bài này, mình sẽ kết hợp các khái niệm về lớp, mảng, và phương thức để quản lý và tương tác với các đối tượng.

Xác định lớp Animal và lớp Zoo

Bắt đầu với việc định nghĩa lớp Animal và lớp Zoo trong TypeScript.

class Animal {
  makeSound(): void {
    // Để bổ sung sau
  }
}

class Zoo {
  animals: Animal[] = [];

  addAnimal(animal: Animal): void {
    this.animals.push(animal);
  }

  makeSounds(): void {
    for (const animal of this.animals) {
      animal.makeSound();
    }
  }
}

Thêm đối tượng Animal vào Zoo

Tiếp theo, mình sẽ tạo một số đối tượng Animal và thêm chúng vào Zoo.

// Tạo một Zoo mới
const myZoo = new Zoo();

// Thêm các đối tượng Animal vào Zoo
myZoo.addAnimal(new Dog());
myZoo.addAnimal(new Cat());
myZoo.addAnimal(new Bird());

Đị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
  }
}

Gọi phương thức makeSounds() từ Zoo

Cuối cùng,mình mình sẽ gọi phương thức makeSounds() từ Zoo để nghe âm thanh mà mỗi đối tượng Animal trong Zoo kêu.

myZoo.makeSounds();

Kết quả

Trong mã lệnh trên, mình đã xây dựng lớp Zoo để quản lý các đối tượng Animal. Mỗi đối tượng Animal được thêm vào Zoo, và khi gọi phương thức makeSounds(),mình nhận được âm thanh đặc trưng của từng loài động vật:

Gâu gâu!
Meo meo!
Chích chòe!

Chương trình này minh họa sức mạnh của tính đa dạng và kế thừa trong lập trình hướng đối tượng. Nó cho phép mình quản lý và tương tác với các đối tượng khác nhau một cách dễ dàng và linh hoạt trong TypeScript.

test php

Bài giải

-------------------- ######## --------------------

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Bài tập TypeScript: Classes và Inheritance trong Typescript

Bài tập TypeScript: Classes và Inheritance trong Typescript

Bài tập TypeScript: Các kiểu dữ liệu mảng và tuple.

Bài tập TypeScript: Các kiểu dữ liệu mảng và tuple.

Bài tập TypeScript: Kiểu Generic Types trong Typescript

Bài tập TypeScript: Kiểu Generic Types trong Typescript

Bài tập TypeScript: Các dạng bài tập cơ bản

Bài tập TypeScript: Các dạng bài tập cơ bản

Phân tích JSON trong TypeScript

Phân tích JSON trong TypeScript

Property trong TypeScript

Property trong TypeScript

Phần 2: Biến trong TypeScript

Phần 2: Biến trong TypeScript

Phần 1: Biến trong TypeScript

Phần 1: Biến trong TypeScript

Triple-Slash Directives trong TypeScript là gì?

Triple-Slash Directives trong TypeScript là gì?

Phân biệt Modules và Namespaces trong TypeScript

Phân biệt Modules và Namespaces trong TypeScript

Tìm hiểu Branded Type trong TypeScript

Tìm hiểu Branded Type trong TypeScript

Namespaces trong Typescript

Namespaces trong Typescript

Declaration Merging trong TypeScript

Declaration Merging trong TypeScript

Cách sử dụng @ts-expect-error trong typescript

Cách sử dụng @ts-expect-error trong typescript

5 ký hiệu khó hiểu cần biết trong TypeScript

5 ký hiệu khó hiểu cần biết trong TypeScript

Dependency Injection trong Typescript

Dependency Injection trong Typescript

Mapped Types trong TypeScript

Mapped Types trong TypeScript

5 Cách giúp bạn loại bỏ

5 Cách giúp bạn loại bỏ "any" trong TypeScript

10 mẹo và thủ thuật hay nhất trong TypeScript

10 mẹo và thủ thuật hay nhất trong TypeScript

Sử dụng Access Modifiers trong TypeScript

Sử dụng Access Modifiers trong TypeScript

Top