Java面向對象三大特徵

引導語:廣泛應用於PC、數據中心、遊戲控制檯、科學超級計算機、移動電話和互聯網。以下是本站小編分享給大家的Java面向對象三大特徵,歡迎閱讀!

Java面向對象三大特徵

1:封裝

封裝這個詞聽起來好象是將什麼東西包裹起來不要別人看見一樣,就好象是把東西裝進箱子裏面,這樣別人就不知道箱子裏面裝的是什麼東西了。其實 JAVA 中的封裝這個概念也就和這個是差不多的意思。

封裝是 JAVA 面向對象的特點的表現,封裝是一種信息隱蔽技術。它有兩個含義:即把對象的全部屬性和全部服務結合在一起,形成一個不可分割的獨立單位; 以及儘可能隱藏對象的內部結構。也就是說,如果我們使用了封裝技術的話,別人就只能用我們做出來的東西而看不見我們做的這個東西的內部結構了。

封裝的功能

- 隱藏對象的實現細節

- 迫使用戶去使用一個界面訪問數據

- 使代碼更好維護

封裝迫使用戶通過方法訪問數據能保護對象的數據不被誤修改,還能使對象的重用變得更簡單。數據隱藏通常指的就是封裝。它將對象的外部界面與對象的實現區分開來,隱藏實現細節。迫使用戶去使用外部界面,即使實現細節改變,還可通過界面承擔其功能而保留原樣,確保調用它的代碼還繼續工作。封裝使代碼維護更簡單。

2:繼承

is a 關係—— 子對象

在面向對象世界裏面,常常要創建某對象(如:一個職員對象),然後需要一個該基本對象的更專業化的版本,比如,可能需要一個經理的對象。顯然經理實際上是一個職員,經理和職員具有 is a 的關係,經理只是一個帶有附加特徵的職員。因此,需要有一種辦法從現有對象來創建一個新對象。這個方式就是繼承。

“繼承”是面向對象軟件技術當中的一個概念。 如果一個 對象 A 繼承自另一個 對象 B, 就把這個 A 稱爲"B 的子 對象 ",而把 B 稱爲"A 的父 對象 "。繼承可以使得子 對象 具有父 對象 的各種屬性和方法,而不需要再次編寫相同的代碼。在令子 對象 繼承父 對象 的同時,可以重新定義某些屬性,並重寫某些方法,即覆蓋父 對象 的原有屬性和方法,使其獲得與父對象不同的'功能。

3:多態

同一行爲的多種不同表達,或者同一行爲的多種不同實現就叫做多態。

還是用剛纔經理和職員這個例子來舉例:人事部門需要對公司所有職員統一製作胸卡(一般也就是門禁卡,進出公司證明身份使用),製作的師傅說,只要告訴我一個人員的信息,就可以製作出一份胸卡,簡化一下就是:一位職員的信息對應一份胸卡。

這個時候,對胸卡製作的師傅而言,所有的人都是職員,無所謂是經理還是普通職員。

也就是說,對於傳遞職員信息這樣一個行爲,存在多種不同的實現,既可以傳遞經理的信息, 也可以傳遞普通職員的信息。這就是多態的表現。

再舉一個例子:比如我們說“筆”這個對象,它就有很多不同的表達或實現,比如有鋼筆、鉛筆、圓珠筆等等。那麼我說“請給我一支筆”,你給我鋼筆、鉛筆或者圓珠筆都可以,這裏的“筆”這個對象就具備多態。