Thuộc tính và phương thức
Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 13 trên 56.
Các lớp trong JavaScript cho phép chúng ta định nghĩa các thuộc tính và phương thức mà mọi đối tượng của lớp đều dùng chung.
Tạo một lớp có các thuộc tính:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Khi tạo một đối tượng, hàm khởi tạo thiết lập các thuộc tính sau:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Đầu ra: 'Toyota'
console.log(myCar.model); // Đầu ra: 'Corolla'Thêm một phương thức vào lớp:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Giờ đây, bạn có thể gọi phương thức này trên bất kỳ đối tượng nào:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Đầu ra: 'This car is a Toyota Corolla.'Thử thách
Tạo một lớp có tên Book trong tệp book.js với những nội dung sau:
- Một hàm khởi tạo (constructor) nhận các tham số
title,authorvàpages, rồi đặt chúng làm thuộc tính. - Một phương thức có tên
getInfo, trả về một chuỗi theo định dạng: “Title: [title], Author: [author], Pages: [pages]” - Xuất lớp bằng cách thêm `export` vào trước khai báo `class`
Tự làm thử
import { Book } from './book.js';
// Kiểm tra (không sửa phần này)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Lập trình hướng đối tượng
1Đối tượng và từ khóa this
Ôn nhanh: đối tượngThêm phương thức vào đối tượngTìm hiểu từ khóa thisHàm khởi tạoTừ khóa newThử thách ôn tập7Kế thừa và từ khóa extends
Kế thừaQuan hệ "là một"Từ khóa extendsPhương thức super()Kế thừa thuộc tính và phương thứcThử thách ôn tập13Kết hợp hay kế thừa
Quan hệ “có một” và “là một”Những hạn chế của kế thừa nhiều tầngXây dựng đối tượng5Đóng gói và quyền truy cập
Đóng góiTrường công khai và trường riêng tưPhương thức riêng tưThử thách ôn tập8Tổ chức code OOP
Tổ chức các lớp thành module11Dự án: Trình hiển thị hình dạng
Thiết lập: lớp Hình dạng và xuấtKế thừa lớp Hình trònGhi đè và phương thức diện tíchBộ đếm hình dạng tĩnh6Dự án: Tài khoản ngân hàng đơn giản
Lớp BankAccountGửi tiền và rút tiềnSố dư dưới dạng thuộc tính riêng tư9Phương thức và thuộc tính tĩnh
Cấp lớp và cấp instanceThuộc tính tĩnhPhương thức tiện ích tĩnhThử thách ôn tậpTự luyện tập: Trình biên dịch JavaScript online