C#学习笔记之四:接口

关键字:interface

1.什么是接口?

 接口是一个契约。规定了一组功能。
(1)接口不能包含实现,只能包含各种签名
(2)接口成员默认public并且无需再显式添加public
(3)实现接口的类必须实现接口的全部成员。
(4)针对同一接口的不同实现类可以采用不同方法实现接口的成员。

2.怎么定义一个接口?

/*可选:访问修饰符:public(实现不局限于本程序集);internal(默认本程序集内实现)*/ /*可选:partial*/ interface IName :/*可选:基接口*/ 
{
    //接口内成员
}

3.接口的实现?

(1)实现单个接口
class ClassOne : IName    //如果还继承了其他类,基类要在接口类前面,如果基类实现了接口中的成员而继承类没有,也是可以的
{
    //实现所有IName的成员
    //也可以拥有自己独有的成员
}
IName name = new ClassOne();    //定义接口实现类对象,但是这个对象无法访问实现类中的独有成员,只能访问原接口成员。
ClassOne cls = (ClassOne)name;    //向下转型,使得cls可以使用实现类中独有的成员。

(2)实现多个接口
class ClassTwo : IName, IAge
{
    //实现两个接口的全部成员
}
IName name = new ClassTwo();    //只能访问接口IName的成员
IAge age = new ClassTwo();    //只能访问接口IAge的成员
ClassTwo cls = new ClassTwo();    //访问所有接口实现
如果两个接口中有相同的成员,可以提供一个共同实现,也可以显示指定各自的实现(通过"接口.成员"来显式引用)

4.接口的派生?

interface ISex : IName, IAge
{
    //继承下了IName和IAge的成员
    //定义自己的成员
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值