Thuộc tính tĩnh
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 32 trên 56.
Thuộc tính tĩnh thuộc về chính lớp, không thuộc về các đối tượng của lớp. Chúng được dùng chung cho mọi đối tượng.
Định nghĩa một lớp có thuộc tính tĩnh:
class Counter {
// Định nghĩa một thuộc tính tĩnh
static count = 0;
constructor() {
// Tăng biến đếm tĩnh mỗi khi tạo một instance mới
Counter.count++;
}
}Truy cập thuộc tính tĩnh bằng tên lớp:
console.log(Counter.count); // 0
// Tạo một vài instance
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Thuộc tính tĩnh hữu ích cho các giá trị cần được chia sẻ giữa mọi instance hoặc cho các hằng số cấp lớp. Ví dụ:
class MathConstants {
static GOLDEN_RATIO = 1.61803;
}
console.log(MathConstants.GOLDEN_RATIO); // 1.61803Thử thách
Thêm các thuộc tính tĩnh PI và E vào lớp MathConstants:
- Thuộc tính tĩnh
PIđược đặt thành3.14159 - Thuộc tính tĩnh
Eđược đặt thành2.71828
Tự làm thử
import { MathConstants } from './constants.js';
// Code kiểm thử, đừng sửa
console.log(MathConstants.PI); // Đầu ra phải là 3.14159
console.log(MathConstants.E); // Đầu ra phải là 2.71828
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