>  Q&A  >  본문

php - 用最简单的一句话说清,什么是面向对象?他和过程区别是什么?有什么好处?

可能我们都在用面向对象方式编程,我们真的理解到他了吗,每个程序员对面向对象的理解也不一样,每当别人问我为什么用对象不用过程时,我总是说不到一个充分的理由,我一般是这么说的,用对象的好处是,代码简洁,重用性高。。。。说说你们的看法和这么些年的总结阿。

黄舟黄舟2732일 전1270

모든 응답(19)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-10 16:14:10

    化整为零的哲学思想

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-10 16:14:10

    举一个栗子
    实现电商网站里面的一个小功能叫“删除商品”
    如果是面向对象:可能的思路是---“删除商品”是对商品进行删除的一种方法,那就在商品这个类里面增加一个方法
    如果是面向过程:可能的思路是---“删除商品”就是1,判断用户登录状况;2,判断用户权限;3,对提交的操作进行库表操作;4,返回结果;

    不知道说的明不明白,我没有学过面向对象编程,小白的理解~~~~

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 16:14:10

    就拿买笔记本电脑来说吧

    过程思维:询问周围朋友-->网上查询报价-->到附近的电脑城自己去买;
    对象思维:找个人给他钱,让他搞个笔记本电脑给你。

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-10 16:14:10

    oo更适合把数据和其对应的操作封装起来,对外隐藏实现细节。

    회신하다
    0
  • 阿神

    阿神2017-04-10 16:14:10

    能封装的就封装

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-10 16:14:10

    我写过java,node,,可以说是从面向对象过渡到了面向对象+面向过程。从我个人的体会来说,面向过程更加快速简便,更加贴近人解决事物的办法。比如,商店卖掉一个球,面向过程的思路就是把球的总数拿过来,减去一,然后保存,同时,添加一个订单。 这种思维方式和现实业务的过程是比较类似的。所以叫做面向过程。

    但是面向对象就是另一种方式,它首先要把这些实体都抽象两个类,球,订单。然后提供实现方法。比如,球的类有方法 sell,调用这个方法就会把球总数减1,然后调用订单的方法add,添加订单。总体的思路就是,先设计好类的接口以及交互方式,然后只要在 业务发生的时候, 将消息发送给相关的类就可以了。 这里,我们只需要调用 球的sell方法就行了。至于,它怎么下订单,订单价格,我们都不管。

    可以看出,面向对象的方式比较有利于业务逻辑内聚,只要设计好接口,可能很长时间都不用更改类的通讯方式。永远都是 调用球的sell。当球的价格变了,或者有促销了,我们只需要修改sell实现,或者针对临时的促销,实现一个球的子类,比如叫做促销球。这样的话,能最大限度的保证架构的稳定。但是反过来说,如果真的要改架构,成本是比较大的。而且为了保证架构的稳定,前期设计上也会花费更多的资源。

    面向过程的优势也正在于此,虽然处理复杂的业务不是强项,但是开发迅速,改变成本也比较小。非常适合复杂度不高或者适中,业务内容多变的开发。

    以上。

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-10 16:14:10

    现在我们来应该讨论 oop 和 aop 。。

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 16:14:10

    封装,继承,多态。

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 16:14:10

    感觉最大的不同就是封装,而继承,多态都可以用面向过程的方法来替代。还有就是上面说的程序的解耦。用类来代替方法确实方便了很多。

    회신하다
    0
  • 취소회신하다