c# 接口和抽象类介绍

本文详细介绍了C#中的接口和抽象类。接口定义了一种协议,实现该接口的类或结构必须遵循该协议,而抽象类是一个不完整的类,需要进一步细化。接口可以包含方法、属性、事件和索引器,而抽象类可以包含抽象成员。一个类可以实现多个接口,但只能继承一个抽象类。同时,文章也讨论了接口和抽象类之间的主要区别。
摘要由CSDN通过智能技术生成

一、接口概述:

接口定义一种协议,实现该接口的类或结构必须遵循该协议。一个接口可以继承于一个或多个其他接口,一个类或结构也可以实现一个或多个接口。接口可以包含4中成员:方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现,它仅仅指定实现该接口的类或结构必须提供的成员。

1、接口声明:需要使用interface关键字;

Public  interface  IA

{

...

2、接口修饰符:一般位于接口声明中的interface关键字之前,共包括5个修饰符:new、public、protected、internal和private。其中,public、protected、internal和private修饰符控制接口的可访问性。

Public:表示该接口是公开的,访问不受限制。

Protected:表示该接口只能是本身或其派生的接口访问。

Internal:表示该接口只能是在当前应用程序中访问。

Private:表示该接口只能是本身访问。

new修饰符:仅允许在类中定义的接口中使用,它指定接口隐藏同名的继承成员。

eg:

public  class  A

{

    public interface  IA {};  //声明IA接口

}

public  class  B:A

{

     new  publicinterface  IA {};   //声明IA接口,并使用new修饰符隐藏了A.IA接口

}

分析:B.IA表示B类中声明的IA接口。

 

3、接口继承

接口可以继承与一个或者多个其他接口,也可以不继承。被继承的接口称为该接口的显示基接口。当一个接口具有一个或者多个显示基接口时,在声明该接口时,接口标示符后就要紧跟一个冒号和一个有逗号分隔的基接口标示符列表。

eg:

public  interface  IA       //声明IA接口

{

}

public  interface  IB       //声明IA接口

{

}

public  interface  IC:IA,IB     //声明IC接口,它继承于IA和IB接口

{

}

注意:接口不能从自身直接或者间接继承,否则会发生编译时错误。

 

二、接口成员

接口成员必须是方法、属性、事件或者索引器,而不能包括常量、字段、运算符、实例构造函数、析构函数或类型,也不能包含任何种类的静态成员。一个接口可以不包括任何成员,也可以包括一个或多个成员。接口成员默认隐式地具有public访问属性,而且在声明接口成员时不能包含任何修饰符&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值