-
類和類之間的關聯關系
-
組合關系:整體與部分的關系
-
繼承關系(父子關系)
-
組合關系的特點
-
將其它類的對象作為類的成員使用
-
當前類的對象與成員對象的生命期相同
-
成員對象在用法上與普通對象完全一致
-
面向對象中的繼承指類之間的父子關系
-
子類擁有父類的所有屬性和行為
-
子類就是一種特殊的父類
-
子類對象可以當作父類對象使用
-
子類中可以添加父類沒有的方法和屬性
-
C++中通過下面的方式描述繼承關系
1 class Parent 2 { 3 int mv; 4 public: 5 void method(); 6 }; 7 8 class Child : public Parent//描述繼承關系 9 { 10 11 };
-
重要的規則:
-
子類就是一個特殊的父類
-
子類對象可以直接初始化父類對象
-
子類對象可以直接賦值給父類對象
-
繼承的意義
繼承是C++中代碼復用的重要手段,通過繼承,可以獲得父類的所有功能,並且可以在子類中重寫已有功能,或者添加新功能
-
小結:
-
繼承是面向對象中類之間的一種關系
-
子類擁有父類的所有屬性和行為
-
子類對象可以作為父類對象使用
-
子類中可以添加父類沒有的方法和屬性
-
繼承是面向對象中代碼復用的重要手段
例:
1 // 繼承.cpp : 此文件包含 "main" 函數。程序執行將在此處開始並結束。 2 // 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 class Parent 7 { 8 string age; 9 string name; 10 string height; 11 string sex; 12 public: 13 Parent() 14 { 15 cout << "we are parent!!" << endl; 16 } 17 Parent(string _age,string _name,string _height,string _sex) 18 { 19 age = _age; 20 name = _name; 21 height = _height; 22 sex = _sex; 23 } 24 void HELLO() 25 { 26 cout << "hello world" << endl; 27 cout << "my name is " << name << endl; 28 cout << "my age is " << age << endl; 29 cout << "my height is " << height << endl; 30 cout << "my sex is " << sex << endl; 31 } 32 }; 33 class Child : public Parent 34 { 35 public: 36 Child() 37 { 38 cout << "we are child" << endl; 39 } 40 }; 41 int main() 42 { 43 44 Parent Father("48","mingxing","180cm","man"); 45 Father.HELLO(); 46 Child CHENGE; 47 //子類可以初始化父類 48 Parent Mother = CHENGE; 49 }
運行結果:
hello world
my name is mingxing
my age is 48
my height is 180cm
my sex is man
we are parent!!
we are child