類之間可以繼承,和類一樣,接口也允許繼承。C#中接口可以多繼承,接口之間可以互相繼承和多繼承。普通類和抽象類可以繼承接口。一個類可以同時繼承一個類和多個接口,但是接口不能繼承類。
假如你是一名在職學習的學生,你就具有雙重身份。一個身份是學生,必須完成學習任務,另一身份是職員,必須完成工作任務。進一步說,如果你是計算機類學生,除學基礎課外,還必須學習C#程序設計。現在建立一個模型,應該如何建立?
我們首先來定義一個學生接口,規定學生必須學習,再建立一個職員接口,規定職員必須完成工作任務。計算機專業的學生,除了完成一般學習任務,還是學習C#。可以再定義一個接口,繼承學生接口,規定自己的學習任務。
using System;
//定義學生接口
public interface IStudent
{
void StudyBase();
}
//定義職員接口
public interface IEmployee
{
void Work();
}
//定義計算機專業學生接口
public interface IInfoStudent: IStudent
{
void StudySpecial();
}
public class InfoStudent: IEmployee, IInfoStudent
{
//實現學生接口方法
public void StudyBase()
{
Console.WriteLine("數學、語文和英語必須學好");
}
//實現職員接口方法
public void Work()
{
Console.WriteLine("工作必須完成");
}
//實現計算機專業學生接口
public void StudySpecial()
{
Console.WriteLine("計算機類的學生除學好基礎課外,還要學C#");
}
}
class Program
{
public static void Main()
{
InfoStudent student = new InfoStudent();
student.StudyBase();
student.Work();
student.StudySpecial();
}
}
說明:接口之間繼承表示方法和類繼承是相同的,繼承的規則也是相同的,即子接口獲得父接口的內容,如果有多個接口,接口之間用“,”號隔開。