抽象类:在class之前加abstract关键字就是抽象类。
1,抽象类不能直接被实例化出来(就是无法直接new出来
2,抽象类中可以包含抽象方法(抽象方法没有方法体)。
3,非抽象方法一定要申明方法体
4,如果抽象类中有抽象方法,那么派生类中就一定要去实现这个抽象方法,否则会报错。
5,非抽象类不能包含抽象方法。
6,abstract不能修饰字段,但是可以修饰属性。同时派生类中要去实现属性的实现。
接口:
是为了实现其他语言多重继承所用的一种方式,c#是单一继承的。
1,public等修饰符对接口里的方法无效。
2,接口里的方法也不能有方法体,
3,接口中无法包含字段;
4,接口可以包含属性,同时派生类中一定要去实现属性。