浅谈面对对象编程和面向过程编程

本文探讨了面向对象编程和面向过程编程的概念,通过买菜做饭的例子阐述两者的区别。面向对象编程强调封装、继承和多态,提高了代码的复用性和安全性;而面向过程编程更关注具体逻辑,但复用性和可维护性较低。随着编程需求的复杂化,面向对象编程成为主流,以解决代码耦合度和复用性问题。

一、面向对象编程的概念

          面向对象是一种对现实世界问题构建关系抽象成类的方法,通过给类定义方法,然后对类进行实例化,通过哟实例对象来调用,面向对象编程是计算机技术发展到一定程度之后的产物 。

二、面向过程编程的概念

          面向过程是一种以过程为中心的编程思想,主要是以正在发生的事情为目标进行编程,与面对对象最大的不同就是封装、继承、类。

三、举例

          当你想吃一个菜的时候,你有两个选择

 1、你可以到菜市场去自己买做菜需要的材料,然后回到家做这道自己想吃的菜。

2、你可以选择到餐厅去点你想吃的这道菜,让厨师帮你做。

 对于这两个选择来说,第一种是面向过程,第二种是面向对象。

      讲了这么多,面向对象的优势是什么呢?(假设在餐馆吃饭和在家里自己做的成本是一样的)。

首先,你去餐馆吃饭不需要知道这个菜怎么做,需要哪些材料,掌握什么样的火候,你直接在餐馆点菜就可以等着吃了。如果你自己去做这道菜你需要去买各种配料,菜,可是有没有想过这样一个问题呢?如果你把菜买回来了,你突然发现你不会做这道菜并且你也不太想吃了,你想吃其他的菜的话,你要重新去买菜,这样会不会太麻烦了呢?如果你去餐厅,你想换菜了,你就可以直接跟厨师说换一道菜,这样就大大降低了耦合度。

     其实面向对象的底层也是面向过程,就跟你去餐厅点餐一样,对于厨师来说就是面向过程。

只是这个餐厅将卖你想过程抽象成了类,方便我们使用。

四、面向对象的三大特性

          说了这么多,我们来说说面向对象的特性吧!

1.封装

   不对外暴露属性和实现的一些细节,仅仅对外提供访问方式,提高代码的复用性和安全性。

2.继承

   继承是多态的前提,子类可以去继承父类的方法,提高代码的复用性。

3.多态

   父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。

五、面向对象和面向过程的优缺点分析

  面向过程

优点:性能比面向对象好,仅仅关注具体某个问题的逻辑。

缺点:复用性低,可扩展性低,可维护性低。

  面向对象

优点:耦合度低,更加利于维护、复用和扩展。

缺点:性能比面向对象差一点,因为有些属性或者方法实例可能用不到。比如餐厅的厨师要会做很多菜,但是顾客点不了所有的菜。

六、趋势所向

          面向过程编程过渡为面向对象编程的原因就是我们现在编程的逻辑越来越多,越来越复杂,我们需要编写出耦合度低的代码,来进行更好的复用,不可能每实现一个功能就要写一段代码,并且这些代码具有高度的相似性,这样开发效率大大降低,运用面向对象编程思想可以很好地解决这些问题。

        祝每个程序员都能找到高薪好工作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值