1. 繼承的簡介:
繼承
(加上封裝和多態(tài)性)是面向?qū)ο蟮木幊痰?code>三個主要特性(也稱為“支柱”)之一。 繼承用于創(chuàng)建可重用拉庶、擴展和修改在其他類中定義的行為的新類。
其成員被繼承的類稱為“基類”
秃励,繼承這些成員的類稱為“派生類”
氏仗。 派生類只能有一個直接基類。 但是夺鲜,繼承是可傳遞的皆尔。 如果 ClassB 派生出 ClassC,ClassA 派生出 ClassB币励,則 ClassC 會繼承 ClassB 和 ClassA 中聲明的成員慷蠕。
2. 思考題
題目 :
老師、學(xué)生的類食呻。
老師有名字流炕、性別、年齡仅胞、所帶班級每辟、教的科目, 老師可以教學(xué)生學(xué)習(xí)干旧,老師可以用電腦渠欺, 老師可以吃飯。
學(xué)生有名字椎眯、性別挠将、年齡、所在班級盅视,學(xué)生可以學(xué)習(xí),還可以用電腦旦万,還可以吃飯闹击。
思路:
在看這道題的時候,首先先看共同的屬性成艘,可不可以抽出一個基類赏半,然后再去繼承這個基類。
1. 顯而易見淆两,我們可以定義一個Person類断箫,具有名字、性別秋冰、年齡這些字段仲义,還有吃飯、用電腦這兩個方法。
2. 老師的類繼承自Person類埃撵,只需要添加教的科目赵颅、所帶的班級的字段,和教學(xué)生的方法暂刘。
3. 學(xué)生繼承自Person類饺谬,只需要添加一個所在班級的字段,和學(xué)習(xí)的方法谣拣。
代碼:
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("教學(xué)生學(xué)習(xí)");
}
}
}
3. 學(xué)生類
namespace 繼承
{
class Student : Person
{
public string inClassName;
public void learn()
{
Console.WriteLine("學(xué)生正在學(xué)習(xí)");
}
}
}