程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 接口的繼承

接口的繼承

編輯:關於C語言

接口具有不變性,但這並不意味著接口不再發展。類似於類的繼承性,接口也可以繼承和發展。

注意:接口繼承和類繼承不同。首先,類繼承不僅是說明繼承,而且也是實現繼承;而接口繼承只是說明繼承。也就是說,派生類可以繼承基類的方法實現,而派生的接口只繼承了父接口的成員方法說明,而沒有繼承父接口的實現。其次,C#中類繼承只允許單繼承,但是接口繼承允許多繼承,一個子接口可以有多個父接口。

接口可以從零或多個接口中繼承。從多個接口中繼承時,用“:”後跟被繼承的接口名字,多個接口名之間用“,”分割。被繼承的接口應該是可以訪問得到的,比如從private類型或internal類型的接口中繼承就是不允許的。接口不允許直接或間接地從自身繼承。

和類的繼承相似,接口的繼承也形成接口之間的層次結構。

請看下面的例子。

程序清單15-1:

using System;

interface IControl
{
 void Paint();
}
interface ITextBox:IControl
{
void SetText(string text);
}
interface IListBox:IControl
{
void SetItems(string[] items);
}
interface IComboBox:ITextBox,IListBox{}

對一個接口的繼承也就繼承了接口的所有成員,上面的例子中,接口ITextBox和IListBox都從接口IControl中繼承,也就繼承了接口IControl的Paint方法。接口IComboBox從接口ITextBox和IListBox中繼承,因此它應該繼承了接口ITextBox的SetText方法和IListBox的SetItems方法,還有IControl的Paint方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved