物件導向三大特性概述 封裝 繼承 多型

2021-08-26 21:54:38 字數 717 閱讀 5668

封裝:

每個物件都包括自己進行操作所需要的所有資訊,而不依賴於其他物件來完成自己的操作。這樣的方法和屬性通過類的例項來實現。

好處:良好的封裝可以降低耦合度;類的內部可以自由修改;類具有對外的清晰介面。

繼承: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 公有的在任何地方都可以訪問 封裝成員方法來間接...