繼承是物件導向程式設計中最重要的概念之一。繼承允許我們根據一個類來定義另一個類來定義一個類,一個類從另一個類派生出來時,衍生類別從基類那裡繼承特性
繼承的思想實現了 屬於(IS-A) 關係。例如,哺乳動物 屬於(IS-A) 動物,狗屬於(IS-A) 哺乳動物,因此狗 屬於(IS-A) 動物。
基類與衍生類別:
C#中衍生類別從他的直接基類繼承成員,方法、屬性、域、事件、索引指標但是除開建構函式與解構函式。
下面寫個執行個體。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Anlimal //定義一個基類 { protected int foot = 4; protected double weight = 22.4; protected void say(string type, string call) { Console.WriteLine("類別:{0},叫聲:{1} ",type,call); } } //Dog 繼承Anlimal class Dog:Anlimal { static void Main(string[] args) { Dog dog = new Dog(); int foot = dog.foot; double weight = dog.weight; Console.WriteLine("dog foot: {0}\ndog weight:{1}",foot,weight); dog.say("狗", "汪汪"); } } }
結果
多重繼承:
C# 不支援多重繼承。但是,您可以使用介面來實現多重繼承,上面的例子我們為他添加一個smallanlimal介面
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Anlimal //定義一個基類 { protected int foot = 4; protected double weight = 22.4; protected void say(string type, string call) { Console.WriteLine("類別:{0},叫聲:{1} ",type,call); } } public interface smallanlimal //添加一個介面 介面只聲明方法在子類中實現 { protected void hight(double hight); } //Dog 繼承Anlimal class Dog:Anlimal,smallanlimal { public void hight(double hight) //實現介面 { Console.WriteLine("Hight: {0}",hight); } static void Main(string[] args) { Dog dog = new Dog(); int foot = dog.foot; double weight = dog.weight; dog.hight(23.23); Console.WriteLine("dog foot: {0}\ndog weight:{1}",foot,weight); dog.say("狗", "汪汪"); } } }
以上就是 C#學習日記22---多重繼承的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!