学习目标
- 面向对象回顾
- 面向对象三大特征之一-继承
- 继承的格式
- Java继承的特点
- Java继承中成员访问特点
- 抽象类
- 抽象类的格式
- 抽象类的作用
- 抽象类的注意事项
- 设计模式-模板方式
1. 继承
1.1 为什么要学习继承 ?
1.继承是将多个类的相同属性和行为抽取到单独一个类中,那么多个类无需再定义这些共性属性和行为,只要继承这个单独类即可继承这些属性和行为了
2.多个类称为子类(派生类),单独的这个类称为父类(基类 或超类)
1.2 继承能解决什么问题 ?
1.3 继承中成员访问的特点 ?
1.成员变量特点:就近原则
2.成员方法特点:就近原则
3.构造方法特点
1.创建子类前一定会初始化父类,在运行构造方法中默认第一条语句都有super(访问父类的空参构造)
1.4 方法重写与方法重载区别在于哪里 ?
1.方法重写:子类和父类出现了一模一样的方法(方法名,参数列表)。
2.方法重载:在同一个类中方法名相同,参数列表不同。
区别:1.方法重写出现在子类父类中,方法重载只出现在同一类中。
2.方法重写要求重写方法与原方法方法名和参数列表相同,方法重载参数的数据类型不同,或者
参数的个数不同,或者参数类型的顺序不一样。
2. 抽象类
2.1 抽象类存在的意义 ?
当父类定义一个方法时,每个子类对该方法的具体实现的逻辑都不一样,那么父类定义该功能时就可以定义成抽象的方法,这个类就必须是抽象类了。
2.2 抽象类使用注意事项 ?
1.抽象方法和抽象类必须使用abstract关键字进行修饰
2.抽象类中可以抽象方法 , 也可以有非抽象方法 , 抽象方法必须存在抽象类中
3.抽象方法的作用 : 让子类必须实现此功能
4.非抽象方法的作用 : 让子类去继承此功能
5.抽象类不能实例化
6.抽象类的子类
(1)要么是一个抽象类
(2)要么重写所有的抽象方法
3. 设计模式(难点)
3.1 什么是设计模式 , 设计模式有什么优势 ?
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
3.2 模板方法设计模式的作用 , 使用的方式 ?
模板设计模式:把抽象类整体就可以看做成一个模板,模板中不能决定的东西定义成抽象方法让使用模板的类(继承抽象类的类)去重写抽象方法实现需求。
4. 当日问题小结
4.1 当日遇到的问题
4.2 出现问题原因
4.3 解决问题方案
询问老师后得知,子类1可以编写抽象类给子类2重写