python學習物件導向組合

來源:互聯網
上載者:User

標籤: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學習物件導向組合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.