Trật tự có thứ bậc kế thừa và mô hình hóa
Các objects trong thế giới tự nhiên và các objects trong thế giới hiện vật có thể được phân loại sử dụng
trật tự có thứ bậc kế thừa. Một trật tự có thứ bậc đơn giản hóa các objects tự nhiên được mô tả trong
ảnh dưới.
Tại đỉnh của một trật tự có thứ bậc là class chung nhất các objects. Class này định nghĩa các đặc tính
cái là chung đối với mọi object trong trật tự có thứ bậc. Ví dụ, mọi object vật lí có một mass. Các
classes bên dưới cái này có các đặc tính này cũng như những cái thêm. Vì vậy một vật sống có một mass
và cũng grow và die. Con đường từ một class đã cho quay trở lại lên cái đỉnh nhất đi qua tất cả các
tổ tiên của class đã cho. Mỗi class dưới cái đỉnh nhất kế thừa các thuộc tính và hành vi từ các tổ
tiên của nó và mở rộng những cái này với các thuộc tính và hành vi thêm.
Một hệ thống phần mềm hướng đối tượng mô hình hóa mô hình kế thừa và mở rộng này trong các hệ thống
thế giới thực bằng cách định nghĩa các classes và mở rộng các classes khác. Trong Python, tất cả
các classes tự động mở rộng class object tích hợp, cái là class chung nhất có thể. Tuy nhiên, như
bạn đã học trong các học phần trước, nó là có thể để mở rộng bất cứ class hiện có nào sử dụng cú pháp:
class <new class name>(<existing parent class name>):
Vì vậy, ví dụ, PhysicalObject sẽ mở rộng object, LivingThing sẽ mở rộng PhysicalObject, ..vv..
Lợi thế thực của kế thừa trong một hệ thống phần mềm là rằng mỗi class phụ mới giành tất cả các biến
thực thể và phương thức của các classes tổ tiên của nó tự do. Như các định nghĩa hàm và định nghĩa
class, trật tự có thứ bậc kế thừa cung cấp một cơ chế trừu tượng cái cho phép lập trình viên tránh
sáng tạo lại bánh xe hay viết code thừa, như bạn đã thấy rõ trong các học phần trước. Để xem lại
kế thừa làm việc như thế nào trong Python, chúng ta khám phá 2 ví dụ thêm.

