×

Cách Tạo Một Class Trong JavaScript

Để tạo một class trong JavaScript, bạn có thể sử dụng từ khóa class. Một class là một mẫu cho các đối tượng (objects) và cho phép bạn tạo ra nhiều đối tượng có cùng cấu trúc và hành vi.

Mã Nguồn:

class Person {
    // Hàm khởi tạo (constructor)
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    // Phương thức (method)
    greet() {
        console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
    }

    // Phương thức tĩnh (static method)
    static species() {
        return 'Homo Sapiens';
    }
}

// Tạo đối tượng từ class
const person1 = new Person('Alice', 30);
const person2 = new Person('Bob', 25);

// Gọi phương thức của đối tượng
person1.greet(); // Hello, my name is Alice and I am 30 years old.
person2.greet(); // Hello, my name is Bob and I am 25 years old.

// Gọi phương thức tĩnh
console.log(Person.species()); // Homo Sapiens

Giải Thích:

  1. Khai Báo Class:

    • Sử dụng từ khóa class để định nghĩa một class.
    • Tên class (Person) nên được viết hoa chữ cái đầu tiên theo thông lệ.
  2. Hàm Khởi Tạo (Constructor):

    • Hàm constructor được gọi khi tạo một đối tượng mới từ class.
    • Các tham số truyền vào constructor được gán cho các thuộc tính của đối tượng bằng từ khóa this.
  3. Phương Thức (Method):

    • Bạn có thể định nghĩa các phương thức cho class bằng cách thêm chúng vào bên trong định nghĩa class.
    • Ví dụ, phương thức greet in ra một câu chào chứa thông tin của đối tượng.
  4. Phương Thức Tĩnh (Static Method):

    • Phương thức tĩnh được định nghĩa bằng từ khóa static và có thể được gọi trực tiếp từ class mà không cần tạo đối tượng.
    • Ví dụ, phương thức tĩnh species trả về một chuỗi xác định loài của đối tượng.
  5. Tạo Đối Tượng Từ Class:

    • Sử dụng từ khóa new để tạo một đối tượng mới từ class.
    • Ví dụ, const person1 = new Person('Alice', 30); tạo một đối tượng person1 với tên là 'Alice' và tuổi là 30.

Tổng Quan:

  • Class trong JavaScript: Là một mẫu để tạo các đối tượng có cùng cấu trúc và hành vi.
  • Constructor: Được sử dụng để khởi tạo các thuộc tính của đối tượng.
  • Method và Static Method: Cho phép định nghĩa hành vi của đối tượng và hành vi tĩnh liên quan đến class.

Ví Dụ Thực Tế:

class Car {
    constructor(make, model, year) {
        this.make = make;
        this.model = model;
        this.year = year;
    }

    displayInfo() {
        console.log(`This car is a ${this.year} ${this.make} ${this.model}.`);
    }

    static generalInfo() {
        return 'Cars are a common means of transportation.';
    }
}

const car1 = new Car('Toyota', 'Corolla', 2020);
const car2 = new Car('Honda', 'Civic', 2019);

car1.displayInfo(); // This car is a 2020 Toyota Corolla.
car2.displayInfo(); // This car is a 2019 Honda Civic.

console.log(Car.generalInfo()); // Cars are a common means of transportation.

Trong ví dụ trên, class Car có thuộc tính make, model, và year, cùng với phương thức displayInfo để hiển thị thông tin về xe và phương thức tĩnh generalInfo cung cấp thông tin chung về xe.

Comments