前言:本博文主要講解C#接口實現多繼承,更多關於接口、繼承的知識,請查看:C#接口(Interface)精講、淺談C#隱式接口與顯式接口、C#繼承細則,你真的知道嗎?
一、概述
接口是方法的抽象,如果不同的類有同樣的方法,那麼就應該考慮使用接口。
二、示例
C#中接口可以多繼承,接口之間可以相互繼承和多繼承。一個類可以同時繼承一個類和多個接口,但是接口不能繼承類。
using System;
/**
假如你是一名在職學生,你就具有雙重身份。一個身份是學生,必須完成學習任務,一個身份是職員,必須完成工作任務。進一步說,你是計算機類學生,除了學習基礎課程,
還必須學習C#程序設計。現在建立一個模型,應該如何建立?
1.我們首先來定義一個學生接口,規定學生必須學習,再建立一個職員接口,規定職員必須完成工作任務。
2.計算機專業的學生,除了完成一般學習任務,還是學習C#。可以再定義一個接口,繼承學生接口,規定自己的學習任務。
*/
namespace ConsoleApplication3
{
//定義學生接口
public interface IStudent
{
void study_base();
}
//定義職員接口
public interface IEmployee
{
void work();
}
//定義計算機類學生接口
public interface IIStudent : IStudent
{
void study_computer();
}
public class Infostudent : IEmployee, IIStudent
{
//實現學生接口
public void study_base()
{
Console.WriteLine("數學、語文和英語必須學好");
}
//實現職員接口
public void work()
{
Console.WriteLine("工作必須完成");
}
//實現計算機類學生接口
public void study_computer()
{
Console.WriteLine("計算機類的學生除學好基礎課外,還要學C#");
}
}
//測試
class Program
{
static void Main(string[] args)
{
Infostudent infostudent = new Infostudent();
infostudent.study_base();
infostudent.work();
infostudent.study_computer();
Console.ReadKey();
}
}
}
運行結果:
三、總結
接口之間繼承表示方法和類繼承是相同的,繼承的規則也是相同的,即子接口獲得父接口的內容,如果有多個接口,接口之間用,
隔開。