Java 繼承與多態之面向對象

1、面向對象思想

      面向對象是基於面向過程的編程思想

      面向過程:強調的是每一個功能的步驟

      面向對象:強調的是對象,然後由對象去調用功能

2、面向對象的思想特點

      一種更符合我們思想習慣的思想

      可以將複雜的事情簡單化

      將我們從執行者變成了指揮者

3、面向對象開發

      不斷的創建對象,使用對象,指揮對象做事

4、面向對象設計

      管理和維護對象之間的關係

5、面向對象的特徵

      封裝:隱藏對象的屬性和實現細節,僅對外提供公共的訪問方式

      封裝的好處:

                1、隱藏實現細節,對外提供公共訪問方式

                2、提高了代碼的複用性

                3、提高了安全性

      繼承:繼承是指從已存在的類中定義性的類

       java繼承特點:單繼承、多層繼承體系。即一個類只能有一個父類,但父類還可以有父類

      繼承的好處:

                1、提高了代碼的複用性

                2、提高了代碼的維護性

                3、讓類與類之間產生了關係,是多態的前提(同時也是弊端,增加了代碼的耦合性)

 

  多態:同一個對象在不同時刻表現出不同的狀態(父類的變量可以引用子類對象的現象

               多態的前提:

               (1) 有繼承關係

               (2) 子類重寫父類方法

               (3) 父類變量引用子類對象

              多態的好處:

               (1) 提高了代碼的維護性(繼承保證)

               (2) 提高了代碼的擴展性

              多態的弊端

                只能使用父類定義過的方法,不能夠使用子類的特有方法

 

   注意:

           多態中訪問變量時,使用的是父類的成員(成員變量和成員函數,而方法存在重寫,所以調用的是子類的方法(靜態方法除外    

 

6、繼承中成員的關係

         成員變量:子類不能繼承父類的私有成員變量也有人認爲子類能夠繼承父類的私有成員變量,只是因爲權限不夠,所以不能調用。因爲在子類中調用父類的私有成員變量的時候編譯器報的並不是“找不到符號”,而是報的權限錯誤

         構造方法:子類不能繼承父類的構造方法,但是在子類的構造方法中都會默認調用父類的無參構造方法(因爲子類可能會使用父類數據,所以在子類初始前必須先完成父類數據的初始化),如果父類沒有無參構造函數,子類在編譯時會報錯。可以 (1) 爲父類添加無參構造方法; (2) super(..) 調用父類有參構造方法; (3) this() 調用其他本類構造函數,但是該構造函數中必須調用了父類的構造函數

         成員方法:子類不能繼承父類的私有方法

 

 

 

 

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