C#--接口、抽象与封密
接口的声明
开发中的创建接口:
接口的实现和继承
接口可多继承
多继承:
单继承
接口关系图:
接口的成员不能同名,即使类型不同
继承的成员不用再声明
实例
类关系图
开放封闭原则
定义接口会飞的接口方法
基类鸟类不用实现会飞的功能定义为抽象类
三个派生类中进行重写方法
接口实现会飞的鸟类
这样的好处再来一个会飞的鸟类,天鹅
显式接口
编写一个鸟的基类并且抽象(Bird)
气球基类(Balloon)
两个继承鸟的派生类,并重写方法
(Eagle、Sparow)
两个接口
隐式实现接口
显式实现接口
(大型项目往往会有同名的接口)这就是显式接口的好处
只能通过接口来调用,不能通过具体类来做
同时隐式实现接口和显式接口实现
抽象类与抽象方法声明
抽象类不能new
抽象类中可以包含非抽象方法
如果派生类没有实现所有的抽象方法,则该派生类也必须声明为抽象类
如果一个非抽象类从抽象类中派生,则其必须通过重载来实现所有继承而来的抽象成员
Pow类
PowB类
PowC类
密封类与密封方法的使用
密封方法