admin管理员组文章数量:1794759
什么是面向对象编程?面向对象和面向过程有什么区别?
面向对象
面向对象的程序设计(Object-Oriented Programming,简记为OOP),是当下最流行的程序设计方式之一。在面向对象的设计思想中,将程序视为多个对象共同协作的结果。程序被划分为多个子模块,再由多个对象完成各自模块最终实现程序的功能。
我们来看一个例子(部分代码): 班级要举办元旦晚会演出,有三名同学报名了歌舞表演环节,分别是唱歌的小明、唱歌的小李和跳舞的小红。
public static void main(String[] args) { //创建对象 People 小明 = new People(); People 小李 = new People(); People 小红 = new People(); //对象完成任务 小明.sing(); 小李.sing(); 小红.dance(); }如果你是第一次接触java,也许会对这部分代码存有一些疑问,new是啥?怎么还有中文?我们暂时先不管这些,本文目的是带大家认识接触面向对象,至于java的细节和面向对象的特性将在其他文中介绍。
运行结果:
小明唱了一首歌,真好听! 小李唱了一首歌,真好听! 小红跳了一支舞,真好看!
在示例中,歌舞环节由三个对象(小明、小李和小红),每个对象实现各自的模块(小明唱歌、小李唱歌、小红跳舞),由此实现了程序的功能。 这便是一个较为典型的面向对象设计程序的例子。
面向对象与面向过程的比较面向过程的程序设计(Procedure-Oriented Programming)是一种以过程为中心的设计方式。在该方式中,将目标功能的实现分为多个步骤。程序依据步骤的过程一步步执行,最终实现程序功能。
举一个不是特别准确但能体现思想的例子:某天你决定要清理一下地板,然后再把衣服洗了,最后再吹吹风休一会
面向过程的解决步骤:在经历这么多步骤后,你终于把活干完了,但是自己已经精疲力尽,多么希望有人能帮忙分担一点呀!如果有个对象帮忙该多好…(狗头保命)。
面向对象的解决步骤:干完活后,你坐在窗边看着夕阳,感叹生活真是太美好了! 这里的扫地机器人、洗衣机、电风扇扮演着对象(Object)。 特别提示:此对象(Object)非彼对象(girlfriend),虽然在此例中它们像生活女朋友一样体贴,但你真的愿意拿电风扇当对象吗?!
比较总结:面向对象和面向过程不存在绝对的优劣之分,在不同的场景选用不同的设计方式才是明智之举。 面向对象为传统编程提供了一个新的思维方式,这和面向过程是完全不同的。它亦非短时间便能完全掌握的东西。在学习的不同时期,我对面向对象也有着不同的看法。 关于面向对象的三大特性(继承、封装、多态),我将在后文中更新,掌握了三大特性,才是真正的敲开了面向对象编程思想的大门
版权声明:本文标题:什么是面向对象编程?面向对象和面向过程有什么区别? 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686633444a88761.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论