多态和接口(1)——抽象类abstract(1)——接口、接口和类的区别、接口和抽象类的区别(面试重点)

1、接口相当于没有方法实现的抽象类(但是它并不是一个类,而且接口里不能有方法)。

public interface  Flyable
{
     void Flay();
}

 

2、一个类只能继承自一个类,但是可以实现多个接口。

3、一个抽象类中可以定义实现代码,也可以不定义。但是接口不能定义实现代码(哪怕方法中只是一个空的括号{},也是空实现)。

4、接口的多态特性、类型转换、is、as 和类基本一样。

5、抽象类定义的是公共的实现和能力,接口只能定义公共的能力

6、接口相当于给类打一个标签,标志这个类有这种能力

7、接口中的方法不能声明public、private等,因为没有意义。接口中能声明:方法,属性(属性本质是两个方法),索引器(所引器的本质也是一个方法),不能声明字段

8、冒号的作用有两种:作用是一样的,叫法不一样而已。(1)“继承”类。(2)“实现”接口。

9、快速实现接口里的方法,可以不用手动写代码,直接鼠标放在接口名称上,右键——>实现接口——>实现接口。

10、用interface定义接口,定义接口名称一般用I开头(规矩)。接口中的成员不能有访问级别修饰(public、private等)。

11、在C#中,一个类不能“继承”多个父类,但是一个类可以“实现”多个接口。接口中不能声明字段

12、接口的多态特性、类型转换、is、as 和类基本一样。

(1)object是所有类的父类,所以可以用object来new一个对象。

(2)跟类一样,接口也可以用“is”来判断

(3)跟类一样,接口也可以用“as”来进行类型转换

(4)“1”和“2”都是转换类型,区别是:第一种转换类型转换失败时会报错,第二种转换类型转换失败时会返回null

12、定义一个字段,如:

int age;

13、定义一个属性,如:

int age { get; set; }

14、属性的本质是两个方法,相当于set  age()方法和get  age()方法。属性是用字段来实现的。

15、接口中可以定义方法。Void  Fly();就是一个方法。所以接口中也可以定义属性。

16、这是一个只读属性:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值