6.1 面向过程与面向对象
什么叫面向对象?
面向对象(Object-Oriented,简称OO)就是一种常见的程序结构设计方法。
面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础。
面向对象是一个很抽象的概念,它相对面向过程而言。
过程与对象都是一种解决问题的思想。
面向过程:强调的是功能行为,面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可,也就是一种过程,先干啥,再干啥;
面向对象:将功能封装到对象里,强调的是具备某功能的对象;面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为
按照面向对象的思想,可以把任何的东西看做对象!
面向过程和面向对象一定是互斥的吗?肯定不是
我们在处理问题时可以完全的面向过程 但是不能完全面向对象。举个例子来说:
你让女朋友做饭 你这个角度而言 面向对象
从女朋友这个角度而言呢?如果GF做 面向过程;如果GF不做 叫外卖 面向对象
从餐馆这个角度而言呢?应该是要做饭 面向过程;如果餐馆不做 可以叫别家餐馆做
.....别的餐馆都不做 这个饭始终没人做 相互踢皮球
从中可以看出什么 这个事最终要被处理-面向过程
所以 面向过程其实是最基本的思路 而面向对象是基于面向过程的思路
老板让王经理去招人
从老板的角度而言 面向对象 指挥老王
从老王的角度而言 这一整天
刷牙洗脸 穿衣下楼 吃早餐 上班坐交通工具//11路
去公司开始上班 面试应聘者 中午吃午饭 。。。。下班回家
如果从一整天这个跨度而言 面向过程
从这个例子中就可以表明一个问题
以前或者是今后我们所写的代码 宏观上而言 都是在面向过程
只不过在某一个时刻 某一行 我们会用到一些面向对象的东西
System.out.println("来了老弟~");
//系统过来.输出.在控制台输出(输出打印的内容)
Scanner scanner=new Scanner(System.in);
//把那个扫描控制台的那个人给我叫过来 这个人的名字就是scanner
int a=scanner.nextInt();
//你让这个人从控制台读入一个整数并且给了变量a
Ran