最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++/JAVA/C#子類調用父類函數(shù)情況總結

 更新時間:2019年03月06日 10:04:32   作者:jadeshu  
今天小編就為大家分享一篇關于C++/JAVA/C#子類調用父類函數(shù)情況總結,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

時間久了就容易記不清了,特留存?zhèn)溆貌榭?/p>

c++

1.構造函數(shù)調用   常用初始化列表  或者顯示調用

1.1同一個類中構造函數(shù)調用構造函數(shù)   盡量不要這樣做,因為結果不確定!避免麻煩

可以把共用的代碼封裝成一個私有的成員函數(shù),然后在構造函數(shù)內統(tǒng)一調用。

1.2子類構造函數(shù)調用基類構造函數(shù)

-----基類有默認構造函數(shù)時,可以在子類不寫,則隱式調用

-----基類無/有默認構造函數(shù)時,在子類構造函數(shù)初始化列表處調用,則顯示調用     基類類名(參數(shù))

class Base
{
 public:
   Base(int b) : m_b(b)
   {
   }
 private:
   int m_b;
 };
 class Derived : public Base
 {
 public:
   //普通派生類構造函數(shù)的寫法
   Derived(int b, int d) : Base(b), m_d(d)
   {
   }
 private:
   int m_d;
};

構造原則如下:

1. 如果子類沒有定義構造方法,則調用父類的無參數(shù)的構造方法。

2. 如果子類定義了構造方法,不論是無參數(shù)還是帶參數(shù),在創(chuàng)建子類的對象的時候,首先執(zhí)行父類無參數(shù)的構造方法,然后執(zhí)行自己的構造方法。

3. 在創(chuàng)建子類對象時候,如果子類的構造函數(shù)沒有顯示調用父類的構造函數(shù),則會調用父類的默認無參構造函數(shù)。

4. 在創(chuàng)建子類對象時候,如果子類的構造函數(shù)沒有顯示調用父類的構造函數(shù)且父類自己提供了無參構造函數(shù),則會調用父類自己的無參構造函數(shù)。

5. 在創(chuàng)建子類對象時候,如果子類的構造函數(shù)沒有顯示調用父類的構造函數(shù)且父類只定義了自己的有參構造函數(shù),則會出錯(如果父類只有有參數(shù)的構造方法,則子類必須顯示調用此帶參構造方法)。

6. 如果子類調用父類帶參數(shù)的構造方法,需要用初始化父類成員對象的方式

2.子類調用基類函數(shù)  類名::函數(shù)名(參數(shù))

JAVA

1.構造函數(shù)調用  this(參數(shù))   /  super(參數(shù))

1.1同一個類中調用構造函數(shù) [必須在構造函數(shù)中第一行]   this(參數(shù))

class Person {
 private String name;
 private int age;
 private boolean sex;
 public Person() {
 this("jadeshu", 22, true); // 必須在第一行 不能同時調兩個不同的構造函數(shù)
 }
 public Person(String name,int age, boolean sex) {
 this.name = name;
 this.age = age;
 this.sex = sex;
 }
}

1.2子類構造函數(shù)調用基類構造函數(shù) [必須在構造函數(shù)中第一行]  super(參數(shù))

class Man extends Person {
 public Man(String name, int age) {
 //System.out.println("====");
 //不能再非構造函數(shù)中使用this調用構造函數(shù)
 super(name, age, true); // 必須在第一行
 }
}

2.子類調用基類函數(shù)  super.函數(shù)名(參數(shù))

class Person {
 private String name;
 private int age;
 private boolean sex;
 public Person() {
 this("jadeshu", 22, true); // 必須在第一行
 }
 public Person(String name, int age, boolean sex) {
 this.name = name;
 this.age = age;
 this.sex = sex;
 }
 public void person_test() {
 System.out.println("Person person_test() called!");
 }
 public void sub_test() {
 System.out.println("Person sub_test() called!");
 }
}
class Man extends Person {
 public Man(String name, int age) {
 //System.out.println("====");
 super(name, age, true); // 必須在第一行
 }
 public void sub_test() {
 System.out.println("Man sub_test() called!");
 }
 public void sub() {
 person_test();   // 直接調用父類的函數(shù)[子類不存在person_test函數(shù)]
 super.sub_test(); // 調用父類中的函數(shù)[子類和父類存在同名函數(shù)時使用super.XXX]
 System.out.println("Man sub() called!");
 }
}

C#

1.構造函數(shù)調用 

1.1同一個類中構造函數(shù)調用構造函數(shù)    :this(參數(shù)列表)

1.2子類構造函數(shù)調用基類構造函數(shù)      :base(參數(shù)列表)

2.子類調用基類函數(shù)  base.父類方法();

  • ①.通過子類無參構造函數(shù)創(chuàng)建子類實例,會默認調用父類的無參構造函數(shù)
  • ②.通過子類有參構造函數(shù)創(chuàng)建子類實例,也會默認調用父類的無參構造函數(shù)
  • ③.在子類構造函數(shù)中通過base關鍵字指明父類構造函數(shù),當通過子類構造函數(shù)創(chuàng)建實例,會調用指明的、父類的構造函數(shù)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • 數(shù)據(jù)結構之數(shù)組翻轉的實現(xiàn)方法

    數(shù)據(jù)結構之數(shù)組翻轉的實現(xiàn)方法

    這篇文章主要介紹了數(shù)據(jù)結構之數(shù)組翻轉的實現(xiàn)方法的相關資料,這里用幾種實現(xiàn)方法來實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • C++?結合?opencv讀取圖片與視頻的方法

    C++?結合?opencv讀取圖片與視頻的方法

    這篇文章主要介紹了C++?結合?opencv讀取圖片與視頻,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • C++ 實現(xiàn)的通訊錄管理系統(tǒng)詳解

    C++ 實現(xiàn)的通訊錄管理系統(tǒng)詳解

    這篇文章主要為大家詳細介紹了C++實現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++11中強類型枚舉的使用

    C++11中強類型枚舉的使用

    本文主要介紹了C++11中強類型枚舉的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • vs code 配置c/c++環(huán)境的詳細教程(推薦)

    vs code 配置c/c++環(huán)境的詳細教程(推薦)

    這篇文章主要介紹了vs code 配置c/c++環(huán)境的詳細教程(推薦),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java?C++?算法題解leetcode145商品折扣后最終價格單調棧

    Java?C++?算法題解leetcode145商品折扣后最終價格單調棧

    這篇文章主要介紹了Java?C++?算法題解leetcode145商品折扣后最終價格單調棧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • C++?Qt開發(fā)之使用QUdpSocket實現(xiàn)組播通信

    C++?Qt開發(fā)之使用QUdpSocket實現(xiàn)組播通信

    Qt?是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應用程序,本文將重點介紹如何運用QUdpSocket組件實現(xiàn)基于UDP的組播通信,感興趣的可以了解下
    2024-03-03
  • C++實現(xiàn)反轉鏈表的兩種方法

    C++實現(xiàn)反轉鏈表的兩種方法

    本文主要介紹了C++實現(xiàn)反轉鏈表的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • C++實現(xiàn)兩個有序數(shù)組的合并

    C++實現(xiàn)兩個有序數(shù)組的合并

    這篇文章主要為大家詳細介紹了C++實現(xiàn)兩個有序數(shù)組的合并,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++實現(xiàn)LeetCode(35.搜索插入位置)

    C++實現(xiàn)LeetCode(35.搜索插入位置)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(35.搜索插入位置),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07

最新評論

天气| 利津县| 涿州市| 苏州市| 灌南县| 昌图县| 盈江县| 桂林市| 凤台县| 昔阳县| 阿合奇县| 乌拉特前旗| 田东县| 内丘县| 伊川县| 博客| 梁山县| 宽城| 德安县| 剑川县| 镶黄旗| 连江县| 德阳市| 祁阳县| 弋阳县| 沂源县| 三门县| 中方县| 广德县| 西城区| 彩票| 麻阳| 连南| 威信县| 华阴市| 防城港市| 阳信县| 庐江县| 太保市| 烟台市| 梁平县|