抽象类和开闭原则
1.抽象类:中有若干个未被实现的成员:需要方法用abstract修饰,然后类也必须使用abstract,
2.开闭原则:一个类 如果是不是为了修bug或者是增加新功能,不应该修改原有的类:即对扩展开放,对修改关闭;
方式一:
方式二:
如果说:vehicle中的run方法永远都不会被调用,方法体中不需要执行任何东西,就直接把{}去掉,去掉{}之后就变成了纯虚方法,变成纯虚方法就要在方法前加 abstract, 方法加了abstract,类也就要加abstrcat(因为存在有虚方法的类,类就是抽象类)
方法三:使用抽象方法,即可实现功能,也不违法开闭原则,子类也需要使用override去重写方法;
3.抽象类的作用 就是 作为基类,使用变量去引用子类的实例;
4.有没有一个类 ,里面的成员都是抽象的;像都是纯抽象类就是接口;
接口里的成员 默认就是public;
抽象类:为复用而生,不能进行实例化,封装确定的,开放不确定的,不确定的交给合适的子类去实现,符合开闭原则;
如下可理解抽象类,接口、继承等;
图例如下所示