Python 10-5——將實例用作屬性

? ? ? ? 在描述一個普通類中的特殊類時,有時添加的細節越來越多,代碼會很冗長,既不方便讀取也不方便他人理解你編寫的類,這時可以將類中的大塊部分獨立出來當做一個新的類,用該類的實例作為要描述的類中的屬性。比如描述電動汽車,可能電瓶信息要占據很大部分篇幅,此時就可以將電池信息及方法作為獨立的類,在描述電動汽車時可以用該類創建的實例來當做其屬性。

? ? ? ? 對狗狗的類,需要重復打印其相關信息,此時可以將打印信息的方法及信息作為實例去創建狗狗的類。專業一點的說法據說叫封裝:

1、定義狗狗信息的類,其中包含名字,年齡屬性;定義打印狗狗信息的方法,用于打印狗狗的信息;

2、定義一個Dog類,狗狗名字和年齡屬性的信息傳遞方式跟以往不同;

3、定義改名字,年齡遞增,重新打印信息的方法;

4、創建名為dg的狗狗實例,通過調用方法,實現改名,年齡遞增并打印相關信息。

1、將信息屬性封裝,然后通過實例傳遞屬性是簡潔且易于理解的方式;

2、實例傳遞屬性時任然要傳遞給屬性,代碼中是self.info這一屬性;

3、實例包含相關的形參;

沒有看大大的代碼,按自己理解的方式重寫打印信息的方式,結果出現了一定的偏差。

? ? ? ? 思考之后,發現重寫方法時,多用了一個print語句,因為在實例中本身包含了打印信息的語句,再打印調用方法的屬性時沒有任何東西,只能打印出空值(打印再打印 = 沒東西可打)。修改之后恢復正常。

? ? ? ? 可以看出通過實例來當作屬性的方式定義類時,在創建該類的實例將自動包含實例所表示的類信息,實現了一定程度上到我自動化。對包含屬性的實力類可以做任意改動而不會讓類顯得混亂不堪。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,908評論 18 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,948評論 6 342
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,764評論 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,880評論 1 10
  • 體驗新愛啪啪,新手引導后立即要注冊登錄(瓦特,竟然沒有游客瀏覽模式) 咦再注意看,這個注冊界面提醒 #it's s...
    FanFanny閱讀 278評論 0 1