問題:面向對象的特征有哪些? 答:封裝,繼承,多態和抽象。 1. 封裝 封裝給對象提供了隱藏內部特性和行為的能力。對象提供一些能被其他對象訪問的方法來改變它內部的數據。在 Java 當中,有 3 種修飾符:public,private 和 protected。每一 種修飾符給其他的位於同一個包或者不 ...
問題:面向對象的特征有哪些?
答:封裝,繼承,多態和抽象。
1. 封裝 封裝給對象提供了隱藏內部特性和行為的能力。對象提供一些能被其他對象訪問的方法來改變它內部的數據。在 Java 當中,有 3 種修飾符:public,private 和 protected。每一 種修飾符給其他的位於同一個包或者不同包下麵對象賦予了不同的訪問許可權。
下麵列出了使用封裝的一些好處:
通過隱藏對象的屬性來保護對象內部的狀態
提高了代碼的可用性和可維護性,因為對象的行為可以被單獨的改變或者是擴展
禁止對象之間的不良交互,提高模塊化
2. 繼承 繼承給對象提供了從基類獲取欄位和方法的能力。繼承提供了代碼的重用行,也可以在不修改類的情況下給現存的類添加新特性。
3. 多態 多態是編程語言給不同的底層數據類型做相同的介面展示的一種能力。一個多態類型上的操作可以應用到其他類型的值上面。
4. 抽象 抽象是把想法從具體的實例中分離出來的步驟,因此,要根據他們的功能而不是實現細節來創建類。Java 支持創建只暴露介面而不包含方法實現的抽象的類。這種抽象技術的主要目的是把類的行為和實現細節分離開。