Thuộc tính
Thuộc phần Lập trình hướng đối tượng trong hành trình Python của Coddy. Bài học 6 trên 64.
Thuộc tính (attribute) là dữ liệu hoặc biến thuộc về một lớp (class) hay các đối tượng (object) của lớp đó. Chúng lưu trữ thông tin về trạng thái của đối tượng.
Có hai loại thuộc tính:
Thuộc tính lớp: dùng chung cho mọi đối tượng của lớp:
class Student:
school_name = "Python Academy" # thuộc tính của lớpThuộc tính của từng đối tượng - riêng biệt với mỗi đối tượng:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # thuộc tính của instance
self.age = age # thuộc tính của instanceTạo các đối tượng học viên và đặt dữ liệu riêng cho từng đối tượng:
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)Truy cập các thuộc tính của instance (riêng cho từng đối tượng):
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20Truy cập thuộc tính lớp (giống nhau với mọi đối tượng):
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python AcademyĐầu ra:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyĐiểm khác biệt chính: Thuộc tính lớp được dùng chung cho mọi đối tượng, còn thuộc tính instance là riêng của từng đối tượng. Dùng self.attribute_name cho thuộc tính instance và chỉ dùng attribute_name cho thuộc tính lớp.
Tự làm thử
Bài học này không có thử thách code.
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
1Nền tảng về lập trình hướng đối tượng
Tệp bên ngoàiGiới thiệu về lập trình hướng đối tượngLớp và đối tượngTham số selfPhương thứcThuộc tínhPhương thức khởi tạo (__init__)Ôn tập: máy tính đơn giản4Kế thừa
Kế thừa cơ bảnHàm super()Ghi đè phương thứcKế thừa đa lớpThứ tự phân giải phương thứcÔn tập: hệ thống phân cấp nhân viên2Decorator
Giới thiệu về decoratorDecorator thuộc tínhDecorator phương thức tĩnhDecorator phương thức lớp5Tính đa hình
Xem lại cách ghi đè phương thứcKiểu gõ vịtLớp và phương thức trừu tượngThiết kế giao diệnÔn tập: máy tính hình học8Các khái niệm OOP nâng cao
Kết hợp và kế thừaMixinPhương thức tĩnh và phương thức lớpDecorator lớpTrình quản lý ngữ cảnhTự luyện tập: Trình biên dịch Python online