Computer >> Máy Tính >  >> Lập trình >> Python

Lớp Python kế thừa các đối tượng như thế nào?


Trong Python 2.x có hai kiểu lớp tùy thuộc vào sự hiện diện hay vắng mặt của kiểu tích hợp sẵn là lớp cơ sở -

Các lớp kiểu

‘Kiểu cũ’ hoặc "Cổ điển":chúng không có kiểu tích hợp làm lớp cơ sở -

>>> class OldFoo:      # no base class
...     pass
>>> OldFoo.__bases__
()

Các lớp kiểu "mới":chúng có một kiểu tích hợp làm lớp cơ sở có nghĩa là, trực tiếp hoặc gián tiếp, chúng có đối tượng là lớp cơ sở -

>>> class NewFoo(object):           # directly inherit from object
...    pass
>>> NewFoo.__bases__
(<type 'object'>,)

Trong Python 3.x, chỉ cho phép các lớp kiểu mới có kiểu tích hợp làm lớp cơ sở -

Không cần đề cập đến đối tượng trong dấu ngoặc đơn sau tên lớp ở đây khi khai báo lớp. Ở đây các lớp kế thừa hoàn toàn từ đối tượng.

 >>> class Foo:           # directly inherit from object
...    pass
>>> Foo.__bases__
(<type 'object'>,)