標籤:ade count 報錯 存在 aos 自己的 對象 不能 添加
物件導向的命名空間
類中的方法
類中的靜態屬性
對象的屬性
類的組合應用
物件導向的命名空間:
class A:
country=‘中國‘
a=A()
a.name=‘alex‘
print(a.name) 結果是alex 想要添加屬性可以這麼添加
b=A()
print(b.name) 結果是沒有name的屬性
對象中有地址簿來調用類的方法,表現記憶體不同,不過實際調用記憶體相同
對象和類調用動態屬性工作表現的地址不一樣,實際一樣
靜態屬性完全一樣地址
a.country=‘中國‘
print(a.country) 中國
print(A.country) 印度
print(b.country) 印度
對於關於類的靜態屬性:
如果類.屬性 調用的就是類中的屬性
對象.屬性 先從自己的記憶體空間找名字,找到了用自己的,沒找到就用類的,類裡沒有報錯
關於類的動態屬性:
這個方法本事就存在類中,並不會存在對象的記憶體中
在對象調用類中的方法的時候,要依賴於一個地址簿,去類中尋找對應的方法
關於對象的屬性
對象的屬性就存在對象的命名空間中
只能被對象調用、修改
不能被類調用
物件導向組合:
可以做到解耦,可以用其他類的對象做屬性
class Ban:
def __init__(self,name,ke,jiang):
self.name=name
self.ke=ke.name
self.jiang=jiang.name
class Student:
quanxian=‘xuesheng‘
def __init__(self,name,ban,ke,grade=100):
self.name=name
self.ban=ban.name
self.ke=ke.name
self.jiang = ban.jiang
self.grade=grade
class Jiang:
quanxian=‘jiaoshi‘
def __init__(self,name,sex,ke,bang):
self.name = name
self.sex = sex
self.ke = ke.name
self.bang=bang
python學習物件導向組合