抽象类:
如果一个类不与具体的事物相联系,而只是表达一种抽象的概念,仅仅是作为其派生类的一个基类,这样的类就是抽象类
在抽象类中声明方法时,如果加上abstract时就是抽象方法
接口:
表示一种能力。接口中的方法,不需要访问修饰符,不需要实现
接口就是为了多态存在
C#中的类,单继承
可以说,类继承了接口,也可以说继承了类
抽象类与抽象方法:
抽象类与抽象方法由abstract修饰
抽象方法没有方法体
抽象类的派生类必须实现抽象方法体
抽象类只能用作基类,无法实例化
抽象类与接口区别:
抽象类
|
接 口
|
可以有实现成员,也可以没有
|
不能被实例化 |
没有实现的成员,在子类中重写
|
接口中未实现的方法,在子类中实现
|
可以定义方法,属性
|
只能包含方法
|
定义一种公共实现
|
定义一种行为规范
|
一个类只能继承自一个抽象类
|
一个类可以继承多个接口
|
|
一个接口,一个功能
|
【最后的忧桑】---这才是ys啊
抽象类,主要用于关系亲密的对象接口,适合于为不相关的类提供通用功能