参考:java面向对象四大特征
面向过程:
分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象:
把构成问题的事物分解成一个个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
举个例子——下棋:
面向过程:
1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用不同的方法来实现。
面向对象:
1、黑白双方,这两方的行为是一模一样的;
2、棋盘系统,负责绘制画面;
3、规则系统,负责判定诸如犯规、输赢等
类是很多个具有相同属性和行为特征的对象所抽象出来的,对象是类的一个实例。
对象:
- 特点:封装、继承、多态、唯一
- 组成:属性+方法
- 模板:类
一、三大特性
封装: 核心思想"隐藏细节、数据安全"
(1)将类的某些信息隐藏在类内部,不允许外部程序直接访问;
(2)通过类提供的方法来实现对隐藏信息的操作和访问;
(3)隐藏对象的信息;
(4)留出访问的接口;
特点:1、通过规定的方法访问数据;2、隐藏类的实例字节,方便修改和实现
继承:
子类继承父类可以增加新的数据或新的功能,也可以用父类的功能、但不能选择性的继承父类
多态:编译时多态和运行时多态
多态:允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说:允许将子类类型的指针赋值给父类类型的指针
编译时多态:方法的重载,同一个方法作用在同一个对象的不同解释;
运行时多态:方法的重写:同一个方法作用在不同的对象上有不同的解释;
定义的对象引用所指向的具体类型在运行时期才确定;
运行时多态也可以理解为:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法
运行时多态三个条件:
- 继承
- 覆盖(重写)
- 向上转型
面向对象的四大特性: