博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象和面向过程
阅读量:6991 次
发布时间:2019-06-27

本文共 1438 字,大约阅读时间需要 4 分钟。

我们执行相同的操作,总是喜欢将过程封装到一个方法里面,之后就不再从底层做起了,直接调用。

当需求越来越多,方法也就越来越多,我们使用类封装方法。后面使用该操作就直接找到类,然后再找方法。
面向过程:
针对你的需求一步一步实现,全部自己参与执行。
面向对象:
使用封装好了的一面向过程操作,直接调用,简化自己。小程序短时间或许看不出什么优势,但是后来处理多了就发现这是一种必须的聪明的做法。
现实举例:
吃饭:
面向过程:
饭怎么来?-->买米,买菜
做饭-->洗菜,煮饭,炒菜,洗碗
吃饭
家务-->洗碗,抹桌子。。。
面向对象:
我要吃饭,尽快?
餐馆可以直接吃饭。
点菜-->吃饭-->付账-->玩去了
面向对象是基于面向过程的,因为过程是必须有人完成的。面向对象的选择性更大,重视的是结果而不是过程。
可以理解成面向对象是面向过程的优化。
面向对象开发的程序,结构清晰,便于维护。

 

例子:

将大象装进冰箱:

面向过程做法:

  打开冰箱门

  大象进去

  关上冰箱门

代码体现:

class DxToBx{  public static void main(String[] args){          open();          void();          out();    }       public static void open(){       //打开冰箱门       }        public static void in(){       //大象进去    }       public static void out(){      //关上冰箱门    }}

方法调用时面向过程中非常实用的一种方法。如上图所示,结构清晰,简单快捷。但这种状况紧紧表现在小程序当中。过程中不含有对象的话,比如我的打开冰箱门又涉及到将手放到冰箱门上、往外拉等方法,那么在打开方法里面就需要调用手放到冰箱门上,往外拉等方法,还有更多可能。这样的话,在DxToBx中就存在好多并列的方法,因为方法是不允许在其他方法中声明的。过多的时候,你需要改变一个操作,就需要从上往下找过去找到对应的方法,不便于维护而且也不是那么直观了。

 

面向对象做法:

怎么才能符合面向对象思想呢?

  A.需要哪些类

  B.每个类要做什么

  C.类和类的关系

把大象装进冰箱的分析。(如何分析有哪些类呢?UML类图。名词提取法)

  大象

    进去

  冰箱

    打开

    关闭

  Demo

    main方法

  类与类的关系:

    Demo中使用大象和冰箱的功能

代码实现:

Class Dx{    public void in(){     //..    }   }Class BX{    public void open(){    //..    }    public  void close(){    //..   }   }Class Demo{    public static void main(String[] args){         Dx dx=new Dx();         Bx bx=new Bx();         bx.open();         dx.in();         bx.close();    }}

虽然这样看起来代码更复杂,但结构更加清晰,更易于后期的维护

  

 

转载地址:http://afbvl.baihongyu.com/

你可能感兴趣的文章
@property专题
查看>>
LNMP结合discuz的配置
查看>>
js中ul与li的使用
查看>>
实验二
查看>>
jquery.artDialog.source.js学习
查看>>
PDF去除签名
查看>>
socket
查看>>
date
查看>>
需求方如何选择优秀的项目外包团队?
查看>>
python笔记目录
查看>>
Java语法基础课 原码 反码 补码
查看>>
Nginx记录客户端POST过来的具体信息
查看>>
windows nginx安装与开机启动
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
跨平台传值
查看>>
js点击标签时获取当前标签属性值
查看>>
C# Request.InputStream 读取输入流为空的原因处理
查看>>
golang 中map并发读写操作
查看>>
zabbix自动发现
查看>>
c++和c动态申请二维数组
查看>>