- 面向过程(POP)与面向对象(OOP)
- 二者都是一种思想,面向对象是相对于面向过程而言的,面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做;
- 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、集合、多态等;
- 面向对象的三大特征
- 封装
- 继承
- 多态
- 面向对象的思想概述
-
程序员从面向过程的执行者转化成了面向对象的指挥者;
-
面向对象分析方法分析问题的思路和步骤: 1. 根据问题需求,选择问题所针对的现实世界的主体;
2. 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的 类;
3. 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义,即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构;
4.将类实例化成计算机世界中的对象,对象是计算机世界中解决问题的最终工具;
- 类和对象的使用(面向对象思想落地实现)
- 创建类,设计类的成员;
- 创建类的对象;
- 通过“对象,属性”或“对象,方法”调用对象的结构;
- 属性(成员变量) VS 局部变量
-
相同点:(1)定义变量的格式:数据类型 变量 = 变量名;
(2)先声明,后使用;
(3)变量都有其对应的作用域;
-
不同点:(1)在类中声明的位置不同;
属性:直接定义在类的一对{ }内;
局部变量:声明在方法内、方法形参、代码块内、构造参数、构造器内部的变量;
(2)关于权限修饰符的不同;
属性:可以在声明属性时,指明其权限,使用权限修饰符;
常用的权限修饰符:private、public、缺省、protected;
局部变量: 不可以使用权限修修饰符;
(3)默认初始化值的情况 ;
属性:类的属性:根据其类型,都有默认初始化值;
整形(byte ,short ,int ,long );0
浮点型(float ,double);0.0
字符型(char);0 (或者’\u0000‘)
布尔型(boolean);false
引用类型(类、接口、数组);null
局部变量:没有默认初始化值;
(4)在内存中加载的位置;
属性:加载到堆空间中(非static);
局部变量:加载到栈空间;
- return关键字的使用
-
使用范围,使用在方法体这中;
-
作用:结束方法体;针对于有返回值类型的方法,使用“return 数据”方法返回所要的数据;
-
注意点:return关键字后面不可以声明执行语句;
- 完成一个项目(或功能)的思路
- 根据问题需要,选择问题针对的现实世界中的实体;
- 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类;
- 把抽象的实体用计算机语言进行描述,形成计算机世界类的定义,即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构;
- 将类实体化成计算机世界的对象,对象是计算机世界中解决问题的最终工具;
- 面向对象中两个重要的概念;
-
类:对一类事物的描述,是抽象的、概念上的定义;
-
对象:是实际存在的该类事物的每个个体,因而也称之为实例(instance);
---->面向对象程序设计的重点是类的设计;
---->设计类,就是设计类的成员;
-
二者的关系:对象,是由类new出来的,派生出来的;