02面向對象之:類空間問題及類之間的關系
阿新 • • 發佈:2019-01-24
相對 類之間的關系 面向 說明 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面向對象之:類空間問題及類之間的關系