面对对象的3大特征是:封装、继承和多态
-
封装
封装就是将客观的事物封装成抽象的类,这个类包含这类事物共同的特性和行为,特性对应类的成员变量,行为对应类的成员方法。
封装就是将一批具有相同特性和行为的客观事物封装成抽象类,这个类的成员变量对应事物的共同特性,成员方法对应事物的共同行为。
并且类可以让自己的成员变量和成员方法让可信的类或者对象访问,不可信的进行信息隐藏。
-
封装的优点
- 提高重用性
- 提高安全性
- 便于使用
-
封装的实现
成员变量使用private修饰,同时提供公共的set和get方法。
-
继承
继承是指这样的一种操作:可以使用原有类的所有功能,并且在不重新编写原有类的情况下修改功能或者新增功能。
使子类拥有父类非private属性和方法
通过继承创建的新类称为子类或派生类,被继承的类称为父类或基类或超类
-
继承的优点
- 提高重用性
- 易于扩展
-
继承的实现
使用extends关键字
-
继承的特点
- 子类拥有父类非private修饰的成员变量和方法
- 子类可以定义自己的成员变量和方法
- 单继承(一个类只能继承一个父类),多重继承(B继承A,C继承B)
- 子类可以使用super访问父类的成员
ps:子类在实例化时,子类的构造方法必须首先调用父类的构造方法,否则编译器会在子类的构造方法的第一行调用父类的无参构造方法。
-
多态
多态就是同一个方法,使用不同的实现,从而进行不同的操作。
-
实现多态的必要条件
- 继承
- 重写
- 父类的引用指向子类对象
本文参考https://www.fangzhipeng.com/javainterview/2019/02/19/object-factors.html