前言
前面学习过数组,当有多个数组都需要遍历的时候,我们可以将遍历的代码封装到方法中,需要遍历的时候,就调用相应的方法即可,提高代码的复用性。在对数组遍历的基础上继续增加需求,比如获取最值,数组逆序等,同样需要将这些功能封装到相应的方法中。这样继续封装会发现方法越来越多,于是就想能不能将这些方法继续进行封装呢?通过前面的学习我们知道类是可以存放方法的,所以,我们就考虑使用类来封装多个方法,将来再做数组操作的时候,不用去找具体的方法,先找到这个类,然后使用这个类中的方法。这就是面向对象的思想。
面向过程思想概述
前面我们完成一个需求的步骤:首先是我们要搞清楚做什么,然后再分析怎么做,最后代码实现。这样一步步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。
那么什么是面向过程开发呢?面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。
面向过程的代表语言:C语言
面向对象思想概述
1.什么是面向对象的思想?面向对象的思想是基于面向过程的思想发展而来的
2.面向对象的特点
1)是一种更符合我们思想习惯的思想
2)可以将复杂的事情简单化
3)将我们从执行者变成指挥者,角色发生转换
3.面向对象思想举例
1)吃饭
面向过程的思想:先去菜市场->洗菜->切菜->做菜->装盘->吃
面向对象的思想:点外卖->厨师做菜->打包->外卖小哥送餐->吃
2)接水
面向过程的思想:拿起水杯->走到饮水机面前->选择热水还是冷水->接水->喝
面向对象的思想:祈求同桌去接水->同桌拿起你的水杯->同桌接水->你喝水
4.将大象装进冰箱伪代码实现
1)面向过程的思想:打开冰箱门->把大象装进冰箱->关闭冰箱门
伪代码实现:
class Demo{
public static void main(String[] args){
System.out.println("打开冰箱门");
//注意:打开冰箱门这个动作不可能只有一行输出语句
//现在只是为了演示面向过程的思想
//把打开冰箱门,大象装进冰箱,关闭冰箱门封装成方法
open();
put();
close();
}
public static void open(){
System.out.println("打开冰箱门");
}
public static void open(){
Systen.out.println(""把大象装进冰箱");
}
public static void close(){
Systen.out.println(""关闭冰箱门");
}
}
2)面向对象的思想:
第一步:我们需要需求中有哪些类?
如何分析有哪些类?
方式1:需要用到UML这门课的知识
方式2:名词提取法——该题包括大象类,冰箱类,测试类
第二步:每一个类中都有些什么?——测试类中使用冰箱类和方法类
大象类:
属性:体积,鼻子,脚掌,象牙...
功能:被装进冰箱,喝水,叫...
冰箱类:
属性:品牌,价格,材质...
功能:打开冰箱门,关闭冰箱门...
测试类:(创建对象,使用对象的地方)
main方法,实现需求
伪代码实现:
//定义一个大象类
class Elephant{
体积;
鼻子;
象牙;
被装进冰箱();
喝水();
叫();
}
//定义一个冰箱类
class IceBox{
品牌;
价格;
材质;
打开冰箱门;
关闭冰箱门:
}
//定义一个测试类实现需求
class Demo{
public static void main(String[] args){
//调用冰箱类中的打开冰箱门的方法
//调用大象类中被装进冰箱的方法
//调用冰箱类中关闭冰箱门的方法
}
}
5.面向对象开发——就是不断的创建对象,使用对象,指挥对象做事情
6.面向对象设计——就是在管理和维护对象之间的关系
7.面向对象特征
封装
继承
多态