1. 程式人生 > >java學習之面向對象的四個特性

java學習之面向對象的四個特性

修改 行為 per 具體化 建立 編譯器 版本 自動 fin

對象:由行為、狀態和唯一標誌組成。
一 抽象
抽象是忽略一個主題中與當前目標無關的方面,把現實世界中的概念轉換為對象,可以是表示數據的VO對象或抽象類,也可以是表示一類行為的接口。有利於從眾多變化的狀態中抽離出不變的東西。有利於使用繼承來構造類的體系,實現多態,使用模板和工廠模式方法來實現對業務過程的抽象。抽象是概念建模和業務流程建模很重要的工具,是面向對象體系的基石,而不是一堆雜亂、混亂、重復、散沙般的、關系錯綜復雜的類。
二 繼承
是一種連結類的層次模型,並且允許和鼓勵類的重用,提供了一種明確表示共性的方法。
繼承意味著能聲明一個類型,而且能繼承父類中的所有操作和數據,同事還有機會聲明自己的新方法以改進、具體化、代替或者擴展父類中的方法
使用父類為應用領域建立層次模型,提供代碼重用並允許定制。
防止繼承:利用final聲明類或方法,意味不能被修改,當一個類被聲明為final時,只有方法自動被設為final,而字段不會。final有兩個優點:1、安全 2高效
類型轉換:1、必須在繼承體系內進行
2、轉換之前,應先使用instanceof進行檢驗。
super:不是一個對對象的引用,而是指向編譯器調用超類的專用關鍵字:
1、調用超類方法 2、調用超類的構造器。
三、多態
一個對象變量可以指向多種實際類型的現象。
動態綁定:一個對象在運行時自動選擇正確的方法進行調用的現象
過程:
1、編譯器檢查對象的聲明類型和方法(虛擬機預先為每個類計算一個方法表)
2、重載解析:編譯器檢查方法調用中提供的方法參數類型(方法原型:名字和參數列表,返回值不是原型的一部分)
3、靜態綁定:如果方法是private,static,final的,或者是一個構造器
4、動態綁定:虛擬機必須調用對象變量所指向的對象的實際類型和匹配的方法版本。
四、封裝
把數據和行為結合在一個包中,並對對象的使用者隱藏數據有關的實現過程,封裝賦予對象“黑盒”特性。

java學習之面向對象的四個特性