- 1
- 0
- 约1.77千字
- 约 3页
- 2021-01-27 发布于山东
- 举报
接口
在构建问题的类过程中,我们经常会遇到一种特殊的情况,在描述某个类的各个方法时,对
每个方法我们只能给出其功能实现的要求(原形声明)但不能给出具体的功能实现(函数定
义体)。因为我们所处理的问题只是一个泛泛的功能说明,并没有针对某一具体类型的问题
来说明。
含义:
一组只有成员方法声明没有方法体的方法集。
接口定义了一组成员函数,但没有具体加以实现,其实现则是由实现该接口的类来加以具体
完成的。
接口中只能包含方法、属性、索引器和事件的声明。
接口的定义
要点:类似于类的定义格式,只是以 interface 作为定义符。
格式:
[访问修饰符] interface 接口名
{
返回值类型 方法名([参数列表]); (只有声明而无方法体)
}
或:
[访问修饰符] interface 派生的接口名 : 父接口名列表
{
返回值类型 方法名([参数列表]); (只有声明而无方法体)
}
接口中声明的方法都是默认public 的 不能自定义访问级别
接口中声明索引器的方法:
返回值类型 this [ 【参数列表】最少有一个参数]{set;get;}
示例:
public interface Dispaly
{
void ViewImage();
}
接口实现
通过定义一个类同时采用:来指明所实现的接口名,并在该类中实现接口中的所有成员方法
且给出方法体定义。
类中所实现的接口中的成员函数的原型都应该与它在 接口中的原型定义保持一致;
并在类中重写接口中的所有成员方法;
通过实现接口,从而可扩充或增加该类的功能。
接口只定义方法名,而类实现接口内部的方法的代码
语法:
class 类名 : 接口列表(,分割)
{
// 所有接口定义方法的实现
}
一个类可以实现多个接口
接口的实现分为:隐式实现和显式实现。
如果类或者结构要实现的是单个接口,可以使用隐式实现
如果类或者结构实现了多个接口那么接口中相同名称成员就要显式实现。
显式实现是通过使用接口的完全限定名(接口名.方法名)来实现接口成员的。
接口回调
接口也是引用数据类型,指向接口的引用也可以指向任意实现了该接口的类创建的实例
接口回调,即接口的引用可以指向实现了接口的类的实例
接口回调均可以访问到实现类里实现的方法
注意:
显式实现的方法只能用接口回调来调用到
无法用实现类引用调用到
示例:
public interface IHello
{
void Bellow();
}
/// summary
/// 显式接口实现
/// /summary
public class Speak : IHello
{
void IHello.Bellow()
{
Console.WriteLine(Hello);
}
}
class MainClass
{
public static void Main (string[] args)
{
Speak speak = new Speak();
//speak.Bellow() error
(speak as IHello).Bellow();// 不安全 原因:无法保证待转换的对象所在的类确实实
现了该接口 有可能出现空指针异常
IHello ih = speak as IHello;
if (ih != null)
{
ih.Bellow();//安全
}
}
}
您可能关注的文档
最近下载
- 博林特电梯MPK708C调试-故障说明手册.pdf VIP
- 《锅炉》课后习题答案-西安交大版.pdf VIP
- 唐山中浩化工有限公司利用锅炉余压发电技改项目环境影响报告书(简本).doc VIP
- 二年级(下)语文1-4单元一课一练含答案.docx
- Cultural!Learning!Alliance!! (联盟文化!学习! ! !).pdf VIP
- 人教版2024~2025学年七年级上册数学核心素养全册教案.doc VIP
- 项目经理部穿透式管理实施细则.doc VIP
- 2025自动化工程师岗试题及答案.doc VIP
- DLT2617-2023 20kV配电线路带电作业技术规范.pdf VIP
- 18黄伯荣、廖序东《现代汉语》增订6版课件_第5章 语法 第八、九、十节.pptx VIP
原创力文档

文档评论(0)