C# 接口

概念:

接口:使用java,asp.net等编写的API接口。让其他人通过相应的请求协议(如:http/https)来访问。理解成“在接口服务器上定义多个方法,在客户端上调用这些方法,这样的一个过程,称为请求接口。

C#中的接口:

定义一套规则,其他类实现规则。

接口必须实现,才能使用。
接口也是多态性的表现。

C#类只能继承一个父类(单继承),但一个类可以实现多个接口。
如果一个类,同时实现两个接口,和一个父类,顺序是什么?提示:先继承类,再实现接口

接口和抽象类的区别:

C#中,接口(Interface)和抽象类(Abstract Class)都用于定义抽象的行为,但它们有不同的应用场景和限制。

接口:

只能定义公共的抽象方法、属性、事件和索引器。
不包含任何实现。
可以被类直接实现。
支持多重继承(通过可继承接口的概念)。
主要用于定义合同,规定类必须实现的行为。

抽象类:

可以包含抽象和非抽象方法。
抽象方法不包含实现,需要在子类中实现。
抽象类不能直接实例化,只能作为基类被继承。
不支持多重继承,但可以通过继承多个接口来实现类似效果。
提供了一种实现抽象的方式,也可以提供具体实现的细节。

-----------------------------------------------------------------

接口使用interface关键字来定义

接口一般公开,使用public或internal

接口中包含类的常用成员(如:属性,方法,事件),但并不是类中的所有成员都可以在接口中存在

接口中的成员默认就是公开的(public),public关键字必须省略

建议:接口命名一般建议使用大写I。

使用接口前必须实现接口

public interface IBank
{
    //接口中不能有构造函数
    //public Interfacel() {}
    
    //接口中不能有字段
    //private string fieldl;

    //规律:通过类的实例访问的成员,统统在接口不能存在。原因:接口不能实现化,只能被其他类实现。
    规律:接口中一般不能出现静态成员
    //static string Property {get;set}

    //属性成员,默认公开
    string BankName {get;set}

    //方法成员,默认公开,不能实现,这点和抽象方法类似
    //方法成员是接口出现最多的一种成员
    void Pay();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值