面向对象和面向过程

参考:面向对象和面向过程的本质区别

面向对象和面向过程的区别

面向过程是将要解决的问题分解为一个一个的步骤,然后通过函数去实现这些步骤,最终再一个一个进行调用;面向对象是将要解决的问题的事物抽象为一个一个的对象,建立对象的目的不是为了去实现某一个步骤,而是为了描述对象所对应的事物在这个问题中的行为。
举个栗子:小明准备制作一份美味的蛋炒饭给他亲爱的妈妈。如果是面向过程的话,第一步,准备制作蛋炒饭的一系列用品;第二步,打好鸡蛋;第三步,将鸡蛋液倒入锅中;第四步,将鸡蛋煎至金黄;第五步,将米饭也倒入锅内;第六步,翻炒;第七步,出锅,将蛋炒饭倒入盘子中;最后一步,将蛋炒饭递给亲爱的妈妈。如果是面向对象的话,会有如下对象:小明、妈妈、鸡蛋、米饭等等(万物皆对象),如上文所述,建立对象的目的是为了描述它所对应的事物在问题中的行为,小明这个对象有哪些行为呢?比如说:打鸡蛋、煎鸡蛋、将鸡蛋和米饭混在一起炒等等,对象在发生行为的时候会和其它的对象进行交互(传递消息),比如说煎鸡蛋,小明会和鸡蛋对象进行交互,小明说:鸡蛋哥哥,我想把你给“煎”了,鸡蛋说:好的好的,我来了,然后鸡蛋就跑锅里去了,当然,鸡蛋肯定不愿意啊,所以小明就强行把它拉过来“煎”了!开个小玩笑,其实面向对象就是怎样去描述我们的日常生活,生活中的每一种事物都可以当作对象!
最后说一下二者的优缺点:
1、面向过程:
优点:面向过程的性能相对于面向对象来说较高,因为创建对象的时候需要在内存中开辟存储区域。
缺点:没有面向对象易维护、易复用、易扩展
2、面向对象:
优点:
	易维护:比如说小明要给爸爸抄一份蛋炒饭,那么它只需要将交互对象从妈妈改为爸爸即可,但是面向过程的话就需要重新实现某个步骤
	易复用:比如说煎鸡蛋这个行为,不仅仅小明可以,小红和小刚都会,所以我们通常会将这个行为抽离出来成为方法
	易扩展:比如说小明今天学会了炒西红柿,我们不需要修改之前的代码,只需要在它的基础上进行添加即可
	缺点:
	性能较低
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值