课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在学习软件编程开发技术的时候会发现,对于大多数的新手程序员来说,面向对象与面向过程这两种编程方法总是非常容易混淆,下面我们就做一个简单的对比。
面向对象与面向过程:
先我们要明确一定:
无论是面向对象还是面向过程他们都是解决同一个问题,只是方式不同而已。
1.面向过程将程序看作一系列函数的集合,而面向对象将程序看作一种在程序中包含各种独立而又互相调用的对象的集合。
2.面向过程就是分析出解决问题所需的步骤,面向对象则是把问题中存在关键的事物抽取成对象。
抽取对象的目的在于将这些步骤分配到对应的对象中,由对象管理自己的行为。
比如:如何大象装进冰箱?
面向过程:
为了把大象装进冰箱,需要3个过程。
a.把冰箱门打开(得到打开门的冰箱)
b.把大象装进去(打开门后,得到里面装着大象的冰箱)
c.把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)
每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱。
面向对象:
为了把大象装进冰箱,需要做三个动作(或者叫行为)。
每个动作有一个执行者,它就是对象。
a.冰箱,你给我把门打开
b.冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)
c.冰箱,你给我把门关上依次做这些动作,就能把大象装进冰箱。
3.面向过程要关注每一个步骤的实现细节,关注度比较高,每次都要打开函数去理解每一步的含义。
面向对象不关注实现细节,只会关注这个步骤由哪个对象负责提供,对象对自己提供的服务负责。
4.面向对象编程是一种设计思想,OOP把对象作为程序的基本单元对象包含了属性以及操作这些属性的方法。
5.在程序中,类实际上就是数据类型!例如:整数,小数等等。整数也有 一组特性和行为。
面向过程的语言与面相对象的语言的区别就在于,面向过程的语言不允许程序员自己定义数据类型,
而只能使用程序中内置的数据类型! 而为了模 拟真实世界,为了更好的解决问题,
往往我们需要创建解决问题所必需的数据类型!面向对象编程为我们提供了解决方案。
总结:
我认为两者并不是对立的,而是两者相互促进,oo思想能够帮助我们以符合人类思维的方式进行思考问题,
面向过程的思想可以帮助我们在实现对象中提供的接口时保证逻辑顺序的正确。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!