繼承的使用首先是為了簡化我們的程式,避免同一性質的資料浪費過多的記憶體空間,同時也是為了更好的維護,就是當我們只想改變乙個類中的資料時,就可以改變所有用到這個類的資料了。繼承的使用是以類而言的,通過繼承關係,乙個類可以繼承該基類所有成員資料和方法函式,當然該類也可以重新修改自己所繼承的基類的方法等。類不支援多重繼承,只能乙個乙個繼承,例如:class gezi:birdclass
這就是鴿子類繼承鳥類的繼承。而介面是可以多重使用的。public class gezi,inteface1,inte***ce2
這就是介面的多重使用,中間用逗號隔開。舉個例子:比如鳥類的一般屬性有羽毛,喙,爪子,以及飛行等,而鴿子不僅具有一般鳥類的屬性,還具有自己獨特的屬性,當我們研究一些特定的鳥類時,如果重複定義這些相同的屬性,既浪費了記憶體空間,又不利於後期維護。
下面首先先定義了乙個基類,它包含一般鳥類所擁有的特性:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
set
} public string length
set
} public float weight
set
} public void
fly(
) public void
eat(
) public virtual void
speed()
//virtual關鍵字所代表的是虛方法,是可以被他的繼承類改變重寫的;
}}
又定義了兩個類,鴿子類和大雁類,他們都繼承鳥類的一般屬性:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
public void
shilu()
}}using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
public void
sleep()
public override void
speed()
//重寫基類中的speed方法,使用override關鍵字;
}}
下面的是主函式中的呼叫:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
}}
結果是:
上面就是繼承的一些用法;
下面講的是介面的一些用法:類與類之間叫做繼承,類與介面之間叫做實現。介面中只能包含方法、屬性等的宣告,不能有資料變數,以及修飾符等。下面是定義了幾個介面以及實現該介面的類:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
}using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
}using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
}using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
public void
fun2()
public void
fun3()
}}
以及最終的執行程式:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 繼承和介面
}}
這裡是結果:
以上就是類與類的繼承,類與介面的實現功能的一些用法。
C 介面繼承與實現繼承
介面繼承與實現繼承 moakap 所謂介面繼承,就是派生類只繼承函式的介面,也就是宣告 而實現繼承,就是派生類同時繼承函式的介面和實現。我們都很清楚c 中有幾個基本的概念,虛函式 純虛函式 非虛函式。虛函式 虛函式是指乙個類中你希望過載的成員函式,當你用乙個基類指標或引用指向乙個繼承類物件的時候,你...
c 介面繼承與實現繼承
所謂介面繼承,就是派生類只繼承函式的介面,也就是宣告 而實現繼承,就是派生類同時繼承函式的介面和實現。我們都很清楚c 中有幾個基本的概念,虛函式 純虛函式 非虛函式。虛函式 虛函式是指乙個類中你希望過載的成員函式,當你用乙個基類指標或引用指向乙個繼承類物件的時候,你呼叫乙個虛函式,實際呼叫的是繼承類...
C 介面繼承與實現繼承
介面繼承 派生類只繼承函式的介面 實現繼承 派生類同時繼承函式的介面和實現 虛函式是過載的一種表現方式,是一種動態的過載方式。非虛函式 繼承該函式的介面和乙份強制性實現。虛函式 會繼承該函式的介面和預設實現。純虛函式 純虛函式在基類中沒有定義,介面繼承。含有純虛函式的類無法例項化。總結來說 純虛函式...