C#学习笔记(二十)接口

                                                         接口

1.定义
接口是表示一组函数成员而不实现成员的引用类型。类和结构可以实现接口。

2.声明接口
接口声明不能包含数据成员。
接口声明只能包含方法、属性、事件、索引器。
函数成员声明不能包含实现代码,且成员声明的主题必须使用分号。
接口声明可以分隔成分布接口声明。
接口声明可以使用访问修饰符public和internal
接口成员是隐式public,不允许有任何访问修饰符,包括public。

3.实现接口
只有类和结构才能实现接口。
实现接口必须在基类列表中包括接口名称,并且实现接口的所有成员。
如果类从基类继承并实现接口,基类列表中的基类必须放在任何接口之前。 

4.接口是引用类型
通过把类对象引用强制转换为接口类型来获取指向接口的引用。此时,可以通过.来调用接口的函数,否则类对象的成员无法访问接口成员。

5.实现具有重复成员的接口
如果类实现多个接口,且有些接口有相同签名和返回类型的成员。类可以实现单个成员来满足所有包含重复成员的接口。

6.派生类作为实现
实现接口的类可以从它的基类继承实现的代码。
 

interface IPrint    
{        
void Print();    
}   
class PrintClass   
 {        
public void Print()        
{           
 Console.WriteLine("");        
}    
}    
class BaseClass : PrintClass, IPrint   
 {    }

7.显式接口成员实现
使用限定接口名称来声明,由接口名称和成员名称以及它们中间的点分隔符组成。
显式接口成员实现只可以通过指向接口的引用来访问,其他的类成员都不能直接访问。:

interface IPrint1    
{        
void Print();   
 }    
interface IPrint2   
 {        
void Print();    
}    
class BaseClass : IPrint1, IPrint2    
{        
void IPrint1.Print()       
 {            
Console.WriteLine("");        
}        
void IPrint2.Print()        
{            
Console.WriteLine("");        
}    
}

8.比较接口和抽象类
抽象类可以有实现代码或没有实现代码的抽象成员。接口不能有任何实现代码。因为接口的成员总是抽象的,所以接口不需要abstract关键字。接口不能实例化,但是可以声明接口类型的变量。

发布了35 篇原创文章 · 获赞 67 · 访问量 8521

猜你喜欢

转载自blog.csdn.net/EngraveSmile/article/details/94334234