java面向對象三大特徵及五大原則

java面向對象

一、java面向對象的三大特徵

1、封裝(Encapsulation)

封轉是指屬性私有化

  • 根據需要提供setter和getter方法來訪問屬性
  • 隱藏具體屬性和實現細節,僅對外開放接口
  • 控制程序中屬性的訪問級別

目的:增強數據安全性,不能讓其他用戶隨意訪問和修改數據,簡化編程,使用者不必在意具體實現細節,而只是通過外部接口即可訪問類的成員

2、繼承(Extend)

繼承是指將多個相同的屬性和方法提取出來,新建一個父類

  • java中一個類只能繼承一個父類,且只能繼承訪問權限非private屬性和方法
  • 子類可以重寫父類中的方法,命名與父類中同名的屬性

目的:代碼複用

3、多態

多態(Polymiorph)可以分爲兩種:設計時多態、運行時多態

設計(編譯)時多態:即重載(Overload),是指java允許方法名相同而參數不同(返回值可以相同也可以不同),同一個類中允許存在一個或多個以上的同名函數,只要參數類型或參數個數不同即可

運行時多態:即重寫(Override)必須是在繼承體系中,子類重寫父類方法,JVM運行時根據調用該方法的類型決定調用那個方法

目的:增加代碼的靈活度

總結:

1、java中應儘量減少繼承關係,以降低耦合度

2、使用多態時,父類在調用方法時,優先調用子類的方法,如果子類沒有重寫父類的方法,則再調用父類的方法

3、java訪問控制符作用範圍表:

本類 本包 子類 外部包
public
protected X
default X X
private X X X

✓:可以訪問 X:不可訪問

二、java面向對象的五大原則

單一職責原則:一個類,最好只做一件事,只有一個引起它變化。每個類應該實現單一的職責,如果不是,那就把類拆分

開放封閉原則:對擴展開放,對修改封閉

里氏替換原則:子類必須能夠替換其基類,里氏替換原則中說,任何基類可以出現的地方,子類一定可以出現

依賴倒置原則:依賴於抽象接口,不要依賴於具體實現,簡單來說就是要求對抽象進行編程,不要對實現進行編程,這樣就降低了客戶於與實現模塊間的耦合

接口隔離原則:使用多個小的專門接口,而不是使用一個大的接口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章