C#中的接口

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中的接口相关的知识,希望对你有一定的参考价值。

前言

在日常的开发中,如果需要提炼一些公用的方法有一种办法,就是使用接口来定义,其它拥有这些方法的类需要实现这些接口,这样就可以使用。

那么今天咱们来一起学习下接口。

什么是接口

接口是指定一组函数成员而不实现它们的引用类型,所以只能类和结构来实现接口。

要实现一个接口,类或结构必须做两件事情

  • 必须在基类列表后面列出接口名称

  • 必须为接口的每一个成员提供实现

关于接口的声明有以下几点需要注意

  • 接口的声明不能包含数据成员和静态成员

  • 接口声明只能包含方法、属性、事件、索引器这些类型的非静态成员函数

  • 接口声明的这些成员函数不能包含任何实现代码,而在每个成员的后面必须使用分号(;)

  • 接口的名称必须从大写的I开始

  • 接口和类、结构一样,接口声明还可以分隔成分部接口声明。

interface BaseInfo 
        
            int Age();
            string Name();
        

接口的使用

实现接口需要注意事项

  • 在基类列表中包含接口名称

  • 为每一个接口的成员提供实现

  • 如果类从基类继承并实现了接口,基类列表中的基类名称必须放在所有接口之前。(一个类只能有一个基类)

interface IBaseInfo  
        
            int Age();
            string Name();
        

        class Ahui :IBaseInfo
        
            public int Age()
            
                return 28;
            

            public string Name()
            
                return "阿辉";
            
        

接口不仅仅是类或结构要实现的成员列表,它是一个引用类型。

不能直接通过类对象的成员访问接口,然而,我们可以通过把类对象引用强制转换为接口类型来获取指向接口的引用。一旦有了接口的引用,我们就可以使用点号来调用接口的方法。

static void Main(string[] args)
        
            Ahui ahui=new Ahui();
            IBaseInfo baseInfo=(IBaseInfo)ahui;             //获取接口的引用
            baseInfo.Name();                                //使用接口的引用调用方法

            Console.ReadKey();
        

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

以上是关于C#中的接口的主要内容,如果未能解决你的问题,请参考以下文章

C#中的委托事件与接口

C#中的委托事件与接口

谈谈C#中的接口

C#中的接口

C#中的IComparable和IComparer接口

C#中的IComparable和IComparer接口