面向對象三大特征是什么?
三大基本特征:封裝、繼承、多態
1、封裝 封裝就是隱藏對象的屬性和實現細節,僅對外公開接口,控制在程序中屬性的讀和修改的訪問級別,將抽象得到的數據和行為(或功能)相結合,形成一個有機的整體,也就是將數據與操作數據的源代碼進行有機的結合,形成“類”,其中數據和函數都是類的成員。 封裝的目的是增強安全性和簡化https://www.52fb.cn,使用者不必了解具體的實現細節,而只是要通過外部接口,以特定的訪問權限來使用類的成員。 面相對象的不就是使用程序處理事情時以對象為中心去分析嗎,與面向過程不同,面向過程關心處理的邏輯、流程等問題,而不關心事件主體。而面向對象即面向主體,所以我們在解決問題時應該先進行對象的封裝(對象是封裝類的實例,比如張三是人,人是一個封裝類,張三只是對象中的一個實例、一個對象)。比如我們日常生活中的小兔子、小綿羊都可以封裝為一個類。 比如兔子的屬性有兩只耳朵、四只腿、一雙眼睛、三瓣嘴等;行為(功能)有跑、跳、吃素等。
2、繼承 繼承是面向對象的基本特征之一,繼承機制允許創建分等級層次的類。繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。類似下面這個圖: 我們在上面已經封裝了兔子這個類,其他動物也一樣可以進行封裝。在封裝過程中我們發現兔子、綿羊這兩個類具有相似的功能或特性如吃草,所以我們可以抽取共有特征和方法形成高一層的類,如這里的食草動物、食肉動物。繼承之間是子父類的關系。繼承機制可以很好的描述一個類的生態,也提高了代碼復用率,在Java中的Object類是所有類的超類,常稱作上帝類。
3、多態 多態同一個行為具有多個不同表現形式或形態的能力。是指一個類實例(對象)的相同方法在不同情形有不同表現形式。多態機制使具有不同內部結構的對象可以共享相同的外部接口。這意味著,雖然針對不同對象的具體操作不同,但通過一個公共的類,它們(那些操作)可以通過相同的方式予以調用。 多態的優點:1. 消除類型之間的耦合關系2. 可替換性3. 可擴充性4. 接口性5. 靈活性6. 簡化性 多態存在的三個必要條件:繼承重寫(子類繼承父類后對父類方法進行重新定義)父類引用指向子類對象 簡言之,多態其實是在繼承的基礎上的。比如說今天我們要去動物園參觀動物,那么你說我們去參觀兔子、參觀綿羊、參觀獅子、參觀豹子都是對的,但你不能說我們去參觀汽車。在這個例子中,子類具有多態性:除了使用自己的身份,還能充當父類。