C#中抽象类与接口的区别

//抽象类与接口的区别与联系
/*1.
 *如果一个类中有抽象方法,那么这个类一定是抽象类。
 *也就是说必须在含有抽象方法的类的前面加上 abstract关键字,否则会发生错误。
 *继承抽象类的子类必须在类中实现抽象类中的方法,也就是给出抽象方法的定义。
 *抽象类的定义如下:abstract public class AbstrctClass { //... }
 *2.
 *如果一个类被定义为抽象类,就不能创建这个类的对象,必须使用继承的方法来访问抽象类中的成员,
 *也就是说抽象类的作用就是用于继承。抽象方法是没有实现细节的方法,所以也没有大括号。
 *抽象方法的定义如下:abstract public void AbstractMethod();
 *3.
 *抽象类成员中可以包括实现,子类必须使用抽象类修饰符abstract才能实现抽象类成员。
 *而继承了接口的类必须要实现所有接口成员.(接口中的接口成员并没有实现)。
 *接口的定义如下:public interface Info(接口名) { //... }
 *4.
 *类只能够继承单个类,但是能够继承多个接口,接口也可以继承多个接口。接口成员默认为public的,
 *因此没有修饰符,接口实现也必须为public的,因为接口用来定义类成员,该成员能够被另外一个类调用。
 *接口方法的定义如下:string getInfo(string Name,string Phone);   结尾处有一分号(;)
 *5.
 *需要注意的是,在实现接口方法的实现类中,必须确保每个方法都完全匹配对应的接口方法,具体遵循以下规则:
 *a>方法名和返回类型完全匹配
 *b>任何参数(包括ref和out关键字修饰)完全匹配
 *c>使用接口名作为方法名的前缀,这称为显示接口实现
 *d>假如使用显示接口实现,方法不应有一个访问修饰符,用于实现一个接口的所有方法都具有public可访问性
 *6.
 *一个类可以在扩展另一个类的同时实现一个接口,C#使用位置记号法来进行区分所继承的类和实现的接口。
 *首先写父类名,然后跟一个逗号,最后是接口名。具体定义如下:
 *interface Info { //... }
 *class BaseClass {//... }
 *class SubClass : BaseClass , Info { //... } 
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值