1. 程式人生 > >02面向對象之:類空間問題及類之間的關系

02面向對象之:類空間問題及類之間的關系

相對 類之間的關系 面向 說明 dict col 內部 之前 不可

一.類的空間問題

1.何處可以添加對象屬性

class A:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def func(self,sex):
        self.sex = sex
# 類的外面可以
obj =A(alex,12)
obj.heght=122
print(obj.__dict__)
{‘name‘: ‘alex‘, ‘age‘: 12, ‘heght‘: 122}
# 內部也可以 obj.func(
nv) print(obj.__dict__)
{‘name‘: ‘alex‘, ‘age‘: 12, ‘heght‘: 122, ‘sex‘: ‘nv‘}

總結:對象的屬性不僅可以在__init__裏面添加,還可以在類的其他方法或者類的外面添加。

1.2何處可以添加類的靜態屬性

class A:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def func(self,sex):
        self.sex = sex
        print(666)
    def func1(self):
        A.country
=zhonguo

# 類的外部可以添加 A.aaa = 666 print(A.__dict__)
# 類的內部也可以添加 A.func1(
12321) print(A.__dict__)

總結:類的屬性不僅可以在類內部添加,還可以在類的外部添加

1.3 對象如何找到類的屬性

之前咱們都學習過,實例化一個對象,可以通過點的方式找到類中的屬性,那麽他為什麽可以找到類中的屬性呢?

通過圖解說明:

技術分享圖片

對象查找屬性的順序:先從對象空間找 ------> 類空間找 ------> 父類空間找 ------->.....

類名查找屬性的順序:先從本類空間找 -------> 父類空間找--------> ........

上面的順序都是單向不可逆,類名不可能找到對象的屬性。

二.類與類之間的關系

大千世界, 萬物之間皆有規則和規律. 我們的類和對象是對?千世界中的所有事物進?歸類. 那事物之間存在著相對應的關系. 類與類之間也同樣如此. 在?向對象的世界中. 類與類中存在以下關系:

1. 依賴關系
2. 關聯關系
3. 組合關系
4. 聚合關系
5. 實現關系
6. 繼承關系(類的三大特性之一:繼承。)

2.1 依賴關系

02面向對象之:類空間問題及類之間的關系