Class trong javascript
Có thể nhiều bạn nghĩ javascript củ chuối (:D) thì làm gì có hướng đối tượng, làm gì có class. Nhưng từ phiên bản javascript ES6 đã hỗ trợ class xịn xò rồi nhé! Bài viết sau sẽ giới thiệu về class (lập trình hướng đối tượng) trong javascript.
Bạn có thể sử dụng cú pháp “class” để định nghĩa lớp (class). Lớp (class) trong JavaScript là một mô hình hoặc bản thiết kế cho các đối tượng (objects). Dưới đây là một hướng dẫn về cách sử dụng lớp trong JavaScript:
1. Định nghĩa một lớp (class):
Để định nghĩa một lớp, bạn sử dụng từ khóa class
:
class Person { constructor(name, age) { this.name = name; this.age = age; } }
Trong ví dụ này, chúng ta đã định nghĩa một lớp có tên là “Person” với một constructor (hàm khởi tạo) để thiết lập các thuộc tính “name” và “age”.
2. Tạo đối tượng từ lớp:
Để tạo một đối tượng từ lớp, bạn sử dụng từ khóa new
và gọi constructor của lớp:
const person1 = new Person("Alice", 30); const person2 = new Person("Bob", 25);
3. Thêm phương thức vào lớp:
Bạn có thể thêm các phương thức vào lớp bằng cách định nghĩa chúng bên trong lớp. Ví dụ:
class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`); } } const person = new Person("Alice", 30); person.greet(); // In ra: "Hello, my name is Alice and I'm 30 years old."
4. Kế thừa (Inheritance):
JavaScript cũng hỗ trợ kế thừa từ lớp cha sang lớp con. Ví dụ:
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a sound.`); } } class Dog extends Animal { speak() { console.log(`${this.name} barks.`); } } const dog = new Dog("Buddy"); dog.speak(); // In ra: "Buddy barks."
5. Sử dụng “super” trong lớp con:
Để gọi một phương thức hoặc constructor của lớp cha từ lớp con, bạn sử dụng từ khóa “super”. Ví dụ:
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a sound.`); } } class Dog extends Animal { constructor(name, breed) { super(name); // Gọi constructor của lớp cha this.breed = breed; } speak() { super.speak(); // Gọi phương thức của lớp cha console.log(`${this.name} is a ${this.breed} and barks.`); } } const dog = new Dog("Buddy", "Golden Retriever"); dog.speak(); // In ra: "Buddy makes a sound." và "Buddy is a Golden Retriever and barks."
- Featured image -
