学习目标

  • 面向对象回顾
  • 面向对象三大特征之一-继承
    • 继承的格式
    • 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 当日遇到的问题

多层继承中子类1可不可以编写抽象类继承给子类2?

4.2 出现问题原因

完成作业多层继承中遇到的。

4.3 解决问题方案

询问老师后得知,子类1可以编写抽象类给子类2重写