Hướng dẫn TypeScript

TypeScript Classes

Admin
Oct 26, 2024
5 phút đọc
357

Classes trong TypeScript là một phần quan trọng của lập trình hướng đối tượng, cho phép bạn tạo ra các đối tượng với cấu trúc và hành vi cụ thể. TypeScript mở rộng JavaScript bằng cách cung cấp các tính năng như kiểu dữ liệu tĩnh, tính kế thừa, và các phương thức, giúp bạn xây dựng các ứng dụng dễ bảo trì và mở rộng hơn.

Bài viết này là một phần của chuỗi học TypeScript trên "codetuthub.com", cùng với các bài học khác như TypeScript Simple Types, TypeScript Functions, và TypeScript Enums.

1. Định nghĩa class

Một class trong TypeScript được định nghĩa bằng từ khóa class, theo sau là tên class và thân class chứa các thuộc tính và phương thức.

Ví dụ

ts
class Animal {
    name: string;

    constructor(name: string) {
        this.name = name;
    }

    speak(): void {
        console.log(`${this.name} makes a noise.`);
    }
}

Trong ví dụ này, Animal là một class có một thuộc tính name và một phương thức speak.

2. Khởi tạo đối tượng

Bạn có thể tạo một đối tượng từ một class bằng cách sử dụng từ khóa new.

Ví dụ

ts
const dog = new Animal("Rex");
dog.speak(); // Kết quả: "Rex makes a noise."

3. Kế thừa (Inheritance)

TypeScript hỗ trợ kế thừa, cho phép bạn tạo ra một class mới dựa trên một class có sẵn. Class con sẽ kế thừa tất cả các thuộc tính và phương thức từ class cha.

Ví dụ

ts
class Dog extends Animal {
    speak(): void {
        console.log(`${this.name} barks.`);
    }
}

const dog = new Dog("Rex");
dog.speak(); // Kết quả: "Rex barks."

4. Các tính năng của class

4.1 Tính kế thừa

Kế thừa cho phép một class mới mở rộng tính năng của một class hiện có.

4.2 Tính đóng gói

Bạn có thể sử dụng các modifier như public, private, và protected để kiểm soát quyền truy cập vào các thuộc tính và phương thức.

  • public: Có thể truy cập từ bên ngoài class.
  • private: Chỉ có thể truy cập từ bên trong class.
  • protected: Chỉ có thể truy cập từ class và các class kế thừa.

Ví dụ

ts
class Animal {
    protected name: string;

    constructor(name: string) {
        this.name = name;
    }
}

class Dog extends Animal {
    constructor(name: string) {
        super(name);
    }

    getName(): string {
        return this.name; // Hợp lệ, vì name là protected
    }
}

const dog = new Dog("Rex");
console.log(dog.getName()); // Kết quả: "Rex"

5. Các phương thức tĩnh (Static Methods)

Phương thức tĩnh được gọi trực tiếp từ class mà không cần tạo một đối tượng. Bạn có thể sử dụng từ khóa static để định nghĩa một phương thức tĩnh.

Ví dụ

ts
class MathUtil {
    static add(a: number, b: number): number {
        return a + b;
    }
}

console.log(MathUtil.add(5, 10)); // Kết quả: 15

6. Kết luận

Classes trong TypeScript là một công cụ mạnh mẽ giúp bạn tổ chức mã nguồn theo cách hướng đối tượng, cho phép tái sử dụng và bảo trì mã hiệu quả hơn. Việc sử dụng các tính năng như kế thừa, đóng gói, và các phương thức tĩnh giúp tăng cường khả năng kiểm soát và rõ ràng trong mã nguồn. Để tìm hiểu thêm về TypeScript, hãy tham khảo các bài học liên quan trên "codetuthub.com" như TypeScript Simple Types, TypeScript Functions, và TypeScript Enums.

Toàn Nguyễn
Toàn NguyễnTác giả

Tác giả tại CodeTutHub

Xin chào, mình là Toàn 👋
Là Senior Full-Stack Developer ở HCM, đồng thời là người đứng sau CodeTutHub. Mình viết về những gì mình thực sự dùng hàng ngày — từ Laravel, Next.js, đến cách workflow lập trình với AI agents như Claude Code và Cursor.
Nếu bạn thấy bài này hữu ích, hãy subscribe newsletter hoặc kết nối với mình. Mình luôn sẵn sàng thảo luận về dự án thú vị, cơ hội remote, hoặc đơn giản là chat về tech.
Ho Chi Minh City · Open for collaboration

0 Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!
Đang trả lời
Xoá bình luận

Bạn có chắc muốn xoá bình luận này?
Hành động này không thể hoàn tác.

Thông báo hệ thống
Thông tin