C#接口實現多繼承

前言:本博文主要講解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();
        }
    }
}

運行結果:
在這裏插入圖片描述

三、總結

接口之間繼承表示方法和類繼承是相同的,繼承的規則也是相同的,即子接口獲得父接口的內容,如果有多個接口,接口之間用,隔開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章