首页 > 代码库 > 接口和抽象类的区别
接口和抽象类的区别
抽象类与接口很相似,但是思路不一样。接口是公开类的成员,而抽象类则是抽象类成员以要求子类继承并实现。
抽象类:抽象类是对共性的抽象
- 和普通的类不同,抽象类需要用abstract来修饰类。
- 如果一个类中含有抽象方法,那么这个类必须抽象处理(声明为抽象类,不需要实现)。
- 继承抽象类的子类必须重写父类的抽象方法。
- 抽象类不能被实例化。
- 使用抽象类可以实现多态。
- 可以包含抽象方法和非抽象方法。
- 成员可以使用static、abstract、override、virtual修饰符。
定义抽象类,抽象方法:
abstract class CashSuper{ public abstract double acceptCash(double money);}
使用抽象类抽象方法:
class CashNormal : CashSuper{ public override double acceptCash(double money) { return money; }}
接口:接口是对行为的抽象
- 实现接口的任何非抽象类型都必须实现接口的所有成员。
- 接口不能被实例化。
- 接口可以包含事件、索引器、方法和属性。
- 类和结构可继承多个接口。
- 接口自身可从多个接口继承。
- 方法只能是抽象方法。
- 所有成员都是public static final的,不能使用static、abstract、override、virtual修饰符。
示例:
interface MyInterface { string ID { set; get; } string Name { set; get; } void ShowInfo(); }
接口和抽象类的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。