举例:大象装进冰箱
面向过程:强调的是过程(动作)
打开冰箱——存储大象——关上冰箱
C语言
面向对象:强调的是对象(实体)
冰箱打开——冰箱存储——冰箱关闭
C++ java C#
特点:
1. 面向对象就是一种常见的思想。符合人们的思考习惯。
2. 面向对象的出现,将复杂的问题简单化。
3. 面向对象的出现,让曾经在过程中的执行者变成了对象的指挥者。
面试:你怎么理解面向对象?
类:事物的描述
对象:该类事物的实例
怎么描述?对于事物描述通常只关注两方面,一个是属性,一个是行为。只要明确该事物的属性和行为并定义在类中即可。
对象:其实就是该类事物实实在在存在的个体。在java中通过new来创建的。
定义类其实就是在定义类中的成员变量(对应的就是属性)与成员函数(对应的就是行为)。
面向对象的特征:
1. 封装(encapsulation):
隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:将变化隔离;便于使用;提高重用性;提高安全性
封装原则:
1. 将不需要对外提供的内容都隐藏起来;
2. 把属性都隐藏,提供公共方法对其访问
private:
私有,是一个权限修饰符。用于修饰成员。私有的内容只在本类中有效。
注意:私有仅仅是封装的一种体现而已。