c#高階之路——8.c# 繼承
基礎:
繼承含義:繼承指允許重用現有類去建立新類的過程。
原則:乙個類派生出來的子類具有這個類的所有非私有的屬性,即繼承的子類擁有父類所有非私有屬性。
特點:c#不支援多重繼承,c#類始終繼承自乙個基類(如果未在宣告中指定乙個基類,則繼承自system.object)
注意:派生類繼承基類時用「:」符號連線,派生類繼承基類的所有非私有成員變數和方法。
using system;
public class person
//這是基類
public class student:person
//這是派生類
高階:
呼叫基類的建構函式
如果對類沒有定義顯式建構函式,則編譯器將提供預設的建構函式,以初始化這些類的成員字段。
如果顯式新增了建構函式,就可以有效控制整個構造過程。
實際開發中建議顯式新增建構函式。
注意:派生類通過使用:base()語法可以顯式呼叫基類的建構函式。在必要的情況下,可以利用它來初始化字段。
using system;
namespace jicheng
//基類
public class person
public string _name;
public uint _age;
//基類的建構函式
public person(string name,uint age)
this._name = name;
this._age = age;
//列印輸出
console.writeline(_name);
console.writeline(_age);
//派生類
public class student:person
private uint _id;
//派生類構造函式呼叫基類建構函式用「:base」
public student(string name,uint age uint id):base(name,age)
this._id = id;
//列印輸出
console.writeline(_id);
public class exercise
[stathread]
static void main(string args)
//構造 student
student objstudent=new student(「xyz」,45,001);
方法重寫
關鍵字:override
具有override關鍵字修飾符的方法是對基類中同名方法的新實現。
基類中的同名方法必須宣告為virtual或abstract型別。
給基類中的方法新增virtual關鍵字表示可以在派生類中重寫它的實現。
1、預設的c#方法並非virtual,因此不能重寫。
2、基類方法的可訪問級別並不因重寫它的方法而改變,他們的訪問修飾符相同。
3、new、static和virtual關鍵字不能與override訪問修飾符一同使用
關鍵字:virtual
virtual關鍵字,用於將方法定義為支援多型,用於對乙個類中可修改的方法的宣告,這種方法稱為虛擬方法,子類可以使用override關鍵字自由實現它們各自版本的虛擬方法。
語法:[訪問修飾符] virtual [返回值型別] 方法名稱([引數列表])
//虛擬方法的實現
1、virtual訪問修飾符不能與static和override等訪問修飾符一同使用
2、呼叫虛擬方法,在執行時系統會自動檢查,以確定調調用了哪乙個實現方法。
關鍵字:new
new訪問修飾符用於顯式隱藏繼承自基類的成員。
如果派生類成員與基類成員名稱相同,new會將派生類成員識別為乙個全新成員。
1、在乙個方法中同時使用new和override將會出錯。
2、new訪問修飾符的真正目的是為了隱藏基類方法。
3、如果將乙個方法宣告為new,它實際上並沒有隱藏基類方法,並且編譯器也產生了警告,這時應該刪除new。
參考:
C 學習之路 8 C 程式的多檔案組成
語言 c 編譯環境 visual c 6.0 student.h 檔案1 student.h 類的宣告部分 include using namespace std class student student.cpp 檔案2 student.cpp 類的實現部分 include student.h 包...
(8)C 修飾符型別
c 允許在 char int 和 double 資料型別前放置修飾符。修飾符用於改變基本型別的含義,所以它更能滿足各種情境的需求。下面列出了資料型別修飾符 signed,unsigned,long,short 修飾符 signed unsigned long 和 short 可應用於整型,signe...
8 C 迴圈語句練習2
1.羽毛球拍15元,球3元,水2元,有200元,每一種至少買一件,問有幾種買法?2.洗髮水15元,牙刷5元,香皂2元,有150元,每一種至少買一件,問有幾種買法?3.用100元錢買100隻雞,公雞2元,母雞1元,小雞5角,有幾種買法?4.大馬駝2石糧食,中馬駝1石糧食,兩匹小馬駝1石糧食,有一百匹馬...