Python物件導向的三大特點:封裝,繼承和多態

來源:互聯網
上載者:User

標籤:ocp   推薦   實現   結果   現象   語句   基類   python   修改   

  封裝 enclosure 

  封裝是指隱藏類的實現細節,方便其他人的調用。

  封裝的目的:

  讓使用者可以通過間接調用方法或屬性操作對象。

  所以Python使用封裝時,必會使用私人屬性和方法。

私人屬性和方法:
  以‘__’雙底線開頭,不以雙下滑線結尾的表示符為私人成員,
  私人成員只能使用該類的方法,來進行訪問和修改
    1. 以__開頭的屬性為私人屬性  如__vol
    2. 以__開頭的方法為私人方法  如__vol()

  註:python封裝是假的封裝(類比的封裝)

  比如通過dir查看屬性就可以發現,其實私人屬性被變成了_class__xx,所以才無法訪問

多態 polymocphic
  字面意思:‘多種狀態’
  多態是指在有繼承/派生關係的類中,調用基類對象的方法,實際能調用子類的覆蓋方法的現象叫多態

  狀態:
    靜態(編譯時間狀態)
    動態(運行時狀態)
  說明:
    1,多態調用的方法與對象相關,不與類型相關
    2,Python全部對象都只有“運行時狀態(動態)”
    沒有C++語言裡的編譯時間狀態(靜態)

繼承 inheritance

  繼承是從已有的類中派生出新的類,新類具有原類的資料屬性和行為,並

  能拓展新的行為

繼承的目的:

  延續舊類的功能

單繼承
  文法:
  class 類名(基類名):
    語句塊
  說明:
    單繼承是指衍生類別由一個基類衍生出來的新類

多繼承 multiple inheritance
    多繼承是指一個子類繼承自兩個或兩個以上的基類
    文法:
      class 類名(基類名1,基類名2,...)
    說明:
      一個子類同時繼承自多個父親,父類的方法可以同時被繼承下來
      如果兩個父親中有同名的方法,而在子類中又沒有覆蓋此方法時,調用
      結果難以確定
  多繼承的問題(缺陷)
    標識符衝突問題
  (一般不推薦使用多繼承)

  例子請留意下一篇文章

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.