面向过程和面向对象有什么区别?

个人理解---仅供参考↓

    从语言方面出发:
        对于C语言来说,是完全面向过程的。
        对于C++语言来说,是一半面向过程,一半是面向对象。(C++是半面向对象的)
        对于Java语言来说,是完全面向对象的。

    什么是面向过程的开发方式?
        面向过程的开发方式主要的特点是:
            注重步骤,注重的是实现这个功能的步骤。
            第一步干什么
            第二步干什么
            ....
            另外面向过程也注重实现功能的因果关系。
                因为A所有B
                因为B所以C
                因为C所以D
                .....
            面向过程中没有对象的概念。只是实现这个功能的步骤以及因果关系。
        
        面向过程有什么缺点?(耦合度高,扩展力差。)
            面向过程最主要是每一步与每一步的因果关系,其中A步骤因果关系到B
            步骤,A和B联合起来形成一个子模块,子模块和子模块之间又因为因果
            关系结合在一起,假设其中任何一个因果关系出现问题(错误),此时
            整个系统的运转都会出现问题。(代码和代码之间的耦合度太高,扩展力
            太差。)
            

        面向过程有什么优点?(快速开发)
            对于小型项目(功能),采用面向过程的方式进行开发,效率较高。
            不需要前期进行对象的提取,模型的建立,采用面向过程
            方式可以直接开始干活。一上来直接写代码,编写因果关系。
            从而实现功能。

什么是面向对象的开发方式?
        采用面向对象的方式进行开发,更符合人类的思维方式。(面向对象成为主流的原因)
        人类就是以“对象”的方式去认识世界的。
        所以面向对象更容易让我们接受。

        面向对象就是将现实世界分割成不同的单元,然后每一个单元
        都实现成对象,然后给一个环境驱动一下,让各个对象之间协
        作起来形成一个系统。

        对象“张三”
        对象“香烟”
        对象“打火机”
        对象“吸烟的场所”
        然后将以上的4个对象组合在一起,就可以模拟一个人的抽烟场景。
        其中“张三”对象可以更换为“李四”
        其中“香烟”也可以更换品牌。
        其中“打火机”也可以更换。
        其中“吸烟的场所”也可以更换。

        采用面向对象的方式进行开发:
            耦合度低,扩展力强。
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值