抽象类
-
1.语法定义:用抽象的关键字修饰的类为抽象类
-
2.应用场景
-
- 在某些情况下,某个父类只知道其子类应该包含怎样的方法,但无法准确知道这些子类应该如何实现这些方法也就是说:抽象类是约束子类必须有哪些方法,而不关注子类如何实现他。
-
- 从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性
-
-
3.使用规则
-
- 抽象的定义抽象类
-
- 抽象的定义抽象方法,只有声明,不需要实现
-
- 包含抽象方法的类一定是抽象类
-
- 抽象类中可以包含普通方法,也可以没有抽象方法
-
- 抽象类不能直接创建,我们一般是定义一个引用变量,让他指向一个子类对象
-
面对抽象编程
- 当设计某种重要类的时候,不应该让类面向具体的类,而是面向抽象类,所设计类中的重要数据(参数)应该是抽象类的对象,而不是具体类的对象
- 目的是为了应对用户需求的变化,将某个类中经常因需求变化而需要改动的代码从该类中分离出去
- 核心是将类中每种可能的变化对应地交给抽象类的一个子类去负责,从而让设计者不去关心具体实现
开闭原则
- 设计系统的时候,应该对扩展开放,对修改关闭
- 当系统中增加新的模块时,不需要修改现有的模块
- 好处:易于维护,扩展