初識繼承和多態
阿新 • • 發佈:2017-06-28
指定 style pro over mic 沒有 nbsp 構造函數 順序
4.1 private √ × ×
4.2 protected √ √ ×
4.3 public √ √ √
5.繼承的兩大特性
5.1 單根性:一個類只能有一個直接父類
5.2 傳遞性:A是B的父親,B是C的父親,C和A是什麽關系?(A是爺爺,C是孫子) C仍然可以繼承A的東西
6.父類變量指向子類對象
Traffic car=new Car();
car.Run(); //父類的Run方法
((Car)car).Run2(); //子類特有的Run2方法
反饋給編譯器的car就是父類變量,不能使用子類的方法
7.多態初步(子類override 父類virtual)
7.1 多態的概念:不同的對象對於同一個操作,做出的響應不同,就是多態.
7.2 多態的目的:多態的目的就是為了統一調用
8.繼承當中子類構造的執行過程
8.1 從Main函數跳轉到子類構造,但是不進入方法體,無論有沒有base(),都會找父類構造
8.2 跳轉到父類的構造,執行構造體
8.3 跳回子類構造體,執行方法體
8.4 跳回到Main()函數,對象創建完畢
1.繼承:一個類可以使用另一個類的屬性和方法(成員)
1.1 子類繼承父類使用的符號是冒號
1.2 子類不能繼承父類的構造函數
2.我們new子類構造的時候,到底發生了什麽?
2.1 調用子類構造的時候,沒有使用base關鍵字調用父類的指定的構造,默認調用父類的無參構造
3.base關鍵字
3.1 base.父類屬性
3.2 base.父類方法
3.3 總結:base.父類成員
3.4 base():父類的構造
3.5 結論:base(參數1,參數2)順序是根據父類構造的參數順序保持一致,但是變量名是和子類構造的參數變量名一致.
4.訪問修飾符
當前類 子類 其他類
4.1 private √ × ×
4.2 protected √ √ ×
4.3 public √ √ √
5.繼承的兩大特性
5.1 單根性:一個類只能有一個直接父類
5.2 傳遞性:A是B的父親,B是C的父親,C和A是什麽關系?(A是爺爺,C是孫子) C仍然可以繼承A的東西
6.父類變量指向子類對象
Traffic car=new Car();
car.Run(); //父類的Run方法
((Car)car).Run2(); //子類特有的Run2方法
反饋給編譯器的car就是父類變量,不能使用子類的方法
7.多態初步(子類override 父類virtual)
7.1 多態的概念:不同的對象對於同一個操作,做出的響應不同,就是多態.
7.2 多態的目的:多態的目的就是為了統一調用
8.繼承當中子類構造的執行過程
8.1 從Main函數跳轉到子類構造,但是不進入方法體,無論有沒有base(),都會找父類構造
8.2 跳轉到父類的構造,執行構造體
8.3 跳回子類構造體,執行方法體
8.4 跳回到Main()函數,對象創建完畢
初識繼承和多態