C#零碎(二)

一、1、C#不允许多重继承
2、接口的作用:
接口可以理解为对一组方法声明进行的统一命名,但是这些方法中没有提供任何实现。也就是说把一组方法声明在一个接口中,然后继承于该接口的类都需要实现这些方法。
通过接口,你可以对方法进行统一管理,避免了在每一种类型中重复定义这些方法。
接口的关键字interface
注意:在接口中定义方法不能添加任何的访问修饰符,默认为公有,添加会报错。
**在接口中除了定义方法外,还可以包含属性,事件,索引器,或者这四类的任意组合,但是接口不能包含字段,运算符重载,实例构造函数,析构函数。
接口也不能使用static关键字。
二、继承接口用:继承
如果继承接口则必须实现接口里的所有方法。
显式接口实现方法:指的是在实现过程中,明确指出哪一个接口的哪一个方法。
使用显式接口实现方法时,需要注意以下几个问题:
1、若显式实现接口,方法不能使用任何访问修饰符。显式实现的成员默认为私有。
2、显式实现的成员默认为私有的,所以这些成员不能通过对象直接访问。此时正确的访问对象就是把speaker对象显式的转换为对应的接口,通过接口来调用sayhello方法。
3、当类实现单个接口时,通常使用隐式接口方式,因为对象可以直接访问接口方法。
4、实现多个接口的时候,一般推荐使用显示的方法。
三、接口与抽象类:
1、抽象类使用abstract关键字进行定义,接口使用interface关键字进行定义。
2、抽象类可以包含虚方法,非抽象方法和静态成员;但接口不能包含虚方法和任何静态成员,并且接口中只能定义方法,不能有具体实现。
3、抽象类不能实现多继承,接口支持多继承。
4、抽象类本质是一个类,接口只是代表实现类具有接口声明的方法,是一种CAN-DO关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值