1. 繼承的簡介:
繼承
(加上封裝和多態性)是面向對象的編程的三個主要特性
(也稱為“支柱”)之一。 繼承用于創建可重用、擴展和修改在其他類中定義的行為的新類。
其成員被繼承的類稱為“基類”
,繼承這些成員的類稱為“派生類”
。 派生類只能有一個直接基類。 但是,繼承是可傳遞的。 如果 ClassB 派生出 ClassC,ClassA 派生出 ClassB,則 ClassC 會繼承 ClassB 和 ClassA 中聲明的成員。
2. 思考題
題目 :
老師、學生的類。
老師有名字、性別、年齡、所帶班級、教的科目, 老師可以教學生學習,老師可以用電腦, 老師可以吃飯。
學生有名字、性別、年齡、所在班級,學生可以學習,還可以用電腦,還可以吃飯。
思路:
在看這道題的時候,首先先看共同的屬性,可不可以抽出一個基類,然后再去繼承這個基類。
1. 顯而易見,我們可以定義一個Person類,具有名字、性別、年齡這些字段,還有吃飯、用電腦這兩個方法。
2. 老師的類繼承自Person類,只需要添加教的科目、所帶的班級的字段,和教學生的方法。
3. 學生繼承自Person類,只需要添加一個所在班級的字段,和學習的方法。
代碼:
1. 基類
namespace 繼承
{
enum gender
{
boy,
girl
}
class Person
{
public string name;
public int age;
public gender gender;
public void eat()
{
Console.WriteLine("我在吃東西");
}
public void playComputer()
{
Console.WriteLine("我在用電腦");
}
}
}
2. 老師類
namespace 繼承
{
class Teacher : Person
{
public string className;
public string subjectName;
public void teach()
{
Console.WriteLine("教學生學習");
}
}
}
3. 學生類
namespace 繼承
{
class Student : Person
{
public string inClassName;
public void learn()
{
Console.WriteLine("學生正在學習");
}
}
}