封裝:
每個物件都包括自己進行操作所需要的所有資訊,而不依賴於其他物件來完成自己的操作。這樣的方法和屬性通過類的例項來實現。
好處:良好的封裝可以降低耦合度;類的內部可以自由修改;類具有對外的清晰介面。
繼承:is-a的關係。a is-a b:a是b,a可以繼承b。a是b的乙個特例,特殊化,a又可以具備自己獨有的個性。三個點:
1.子類擁有父類非private的屬性和功能(父類的建構函式例外,可以用base關鍵字訪問,base代表著父類);
2.子類具有自己的屬性和功能,即子類可以擴充套件父類沒有的屬性和功能;
3.子類可以以自己的方式重寫父類的功能。
缺點:父類變,子類不得不變,父子是一種強耦合的關係。
多型:不同的物件可以執行相同的動作,但要通過他們自己的實現**來執行。三個注意點:
1.子類以父類的身份出現;
2.子類在執行時以自己的方式實現;
3.子類以父類的身份出現時,子類特有的屬性和方法不可以使用。
為了使子類的例項完全接替來自父類的類成員,父類必須將該成員宣告為虛擬的(virtual),子類可以選擇使用override將父類的實現替換為自己的實現,這就是多型。
原理:當方法被呼叫時,無論是否轉換為其父類,都只有位於物件繼承鏈最末端的方法實現會被呼叫。即,虛方法是按照執行時型別而非編譯時型別進行動態繫結呼叫的。
python物件導向的三大特性 封裝 繼承 多型
python物件導向的三大特性 封裝 繼承 多型 定義乙個類 class person def eat self print 吃 def sleep self print 睡覺 建立乙個人的物件p,它可以呼叫person類的方法 p person p.eat p.sleep class person...
物件導向三大特性 封裝 繼承 多型
封裝 封裝 是將類的某些資訊隱藏在類的內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問。存在乙個邊界,邊界之內的細節隱藏起來,只留下對外的藉口 如 筆記本,手機,飲水機 封裝的好處 只能通過規定方法訪問資料,安全 易用 簡單 易維護。隱藏類的實現細節 方便加入控制語句...
物件導向 三大特性(封裝 繼承 多型)
一 封裝 目的 保護類,讓類更加安全。做法 讓類裡面的成員變數變為私有 即訪問修飾符 的,做相應的方法或者屬性去間接的操作成員變數 訪問修飾符 private 私有的只能在該類中訪問 protected 受保護的只能在該類和它的子類中訪問 public 公有的在任何地方都可以訪問 封裝成員方法來間接...