1. 程式人生 > >初識繼承和多態

初識繼承和多態

指定 style pro over mic 沒有 nbsp 構造函數 順序

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()函數,對象創建完畢

初識繼承和多態