一. 封装性(封装与隐藏)
问题: 当创建了类的对象以后. 如果通过"对象.属性"的方式对相应的对象属性赋值的话. 可能会出现不满足实际情况的意外, 我们考虑不让对象来直接作用属性, 而是通过"对象.方法"的形式, 来控制对象对属性的访问. 实际情况中, 对属性的要求就可以通过方法来体现
解决的方法: (封装的思想)
① 将类的属性私有化
② 提供 (setter & getter)来实现调用
二. 继承性
1. 为什么要设计继承性?
2. 通过 "class A extends B" 类实现类的继承
子类: A 父类(或基类SuperClass) : B
3. 子类继承父类以后, 父类中声明的属性、方法. 子类就可以获取到.
明确: 当父类中有私有的属性或方法时, 子类同样可以获取得到, 只是由于封装性的设计, 使得子类不可以直接调用
子类除了通过继承, 获取父类的结构之外, 还可以定义自己的特有成分
extends: 子类时对父类功能的"扩展", 明确子类不是父类的子集
4. java中类的继承性只支持单继承: 一个类只能继承一个父类, 一个父类可以有多个子类
5. 子类和父类是相对的概念
三. 多态性
1. 对泰兴指的是什么? 多态性可以理解为一个事务的多种表现形态
① 方法的重载与重写
② 子类对象的多态性
2. 子类对象的多态性使用的前提:
① 要有类的继承
② 要有子类对父类方法的重写
3. 程序运行分为编译状态和运行状态:对于多态来说, 编译时"看左边", 运行时"看右边"
① 编译时, 将此引用变量理解为父类的类型
② 运行时, 关注于真正对象的实体(子类的对象), 那么执行的方法就是子类重写的
4. 子类对象的多态性, 并不适用于属性