热点网|医学教育网|北京pk10开奖直播 pk10开奖直播 北京赛车pk10 pk10开奖直播 北京赛车pk10 PK10开奖直播 北京赛车pk10开奖直播 北京pk10 北京pk10

为什么会有面向对象编程的产生?

从结构化编程说起
服务器君一共花费了283.617 ms进行了6次数据库查询<>,努力地为您提供了这个页面<。
试试阅读模式>?希望听取您的建议

众所周知<,面向对象三大思想:封装,继承>,多态。

但面向对象到底是怎么产生的<,产生他的原因是什么呢?且听我慢慢道来~

先从结构化编程说起

很久以前,软件开发的世界还是一片浑浑噩噩<,不管开发什么软件都面临着复杂性这个问题,代码里面到处是goto语句,程序的流程随意跳转<。众生写代码时>,越写到后面越不知道自己写的是什么>。这时候出现一位巨人<,它就是结构化编程。

结构化编程的基本思想是:

  • 有序地控制流程<,即把程序的执行顺序限制为顺序、分支和循环这三种>;
  • 把共通的处理归结为例程(函数)。

结构化编程的好处是:

  • 三大限制:大大降低了程序的自由度,减少了各种组合,使得程序不至于太过复杂。对于这一点<,结构化编程的顺序、分支和循环可以实现一切算法,虽然降低了程序的复杂性和灵活性,但是程序的实现能力并没有降低。
  • 例程(函数):我们只需要知道过程(函数)的名字<<,而不需要知道过程的内部细节<,即“黑盒化”<。?

虽然结构化解决了程序控制流的复杂问题>,但程序里面不仅包括控制结构,还包括要处理的数据。随着处理数据的增加<>,程序的复杂性也会上升>。这时候>>,面向对象编程来了!

面向对象的由来

“分别管理程序处理内容和处理数据对象所带来的复杂性”问题是,为了得到正确的结果,必须保持处理和数据的一致性<,这在结构化编程中是非常困难的<,解决这一问题的方案就是数据抽象技术>>。?

数据抽象是数据和处理方法的结合><。这便是最初“对象”一词的得来。面向对象编程也因此得名。

然后>,从抽象原则来说,多个相同事物出现时>>>,应该组合在一起,即DRY原则(Don't Repeat Yourself)<,便又引出了类这一概念。

根据数据类型来进行合适的处理(调用合适的方法),本来就应该是编程语言这种工具应该完成的事><。这便是多态的引出了>>。

而对于继承<,大部分的观点是“继承是随着程序的结构化和抽象化自然进化而来的一种方式”。结构化和抽象化>,意味着把共通部分提取出来生成父类的自底向上的方法。(如果继承是这样诞生的话>,那么最初<,有多个父类的多重继承就会成为主流>,而实际上最初引入继承的Simula语言只提供单一继承。松本行弘认为继承的原本目的实际是逐步细化)?

这就是面向对象编程的由来<。

本文地址:http://www.jzjxzzjx.com/librarys/veda/detail/2455,欢迎访问原出处><。

不打个分吗>?

转载随意><,但请带上本文地址:

http://www.jzjxzzjx.com/librarys/veda/detail/2455

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D>,或点此 加入收藏>。

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢>>>,学习效率低>,我觉得一个重要原因是看的书少了。多少是多呢<?起码得看3>>、4<、5、6米吧<<。给个具体的数量<<,那就100本书吧>。很多人知识结构不好而且不系统<>,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官>>,但是在知识结构体系以及心理上我们就居高临下<<。

所以>>,阅读一百本计算机著作吧,少年<!

《数据结构与算法分析:C++描述(第3版)》 维斯 (Mark Allen Weiss) (作者), 张怀勇 (译者), 等 (译者)

《数据结构与算法分析:C++描述(第3版)》是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列<<、树、散列表、优先队列、排序、不相交集算法<、图论算法<、算法分析、算法设计、摊还分析<、查找树算法>、k-d树和配对堆等?!妒萁峁褂胨惴ǚ治?C++描述(第3版)》适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材>。本科生的数据结构课程可以使用《数据结构与算法分析:C++描述(第3版)》第1章~第9章,多学时课程还可以讲解第10章;研究生算法分析课程可以使用第6章~第12章。

更多计算机宝库...

  • 海门叠石桥国际家纺城--江苏频道--人民网 2018-05-23
  • 主持人资料库——柴静 2018-05-23
  • 森林防火有了新“利器” 2018-05-23
  • 港媒称台战机“日晒雨淋” 台军将领出面否认 2018-05-22
  • 怎样和陈意涵袁姗姗一样拥有完美裸妆肤感? 2018-05-22
  • 《东北树木彩色图志》首次载入我国新发现植物“青姬木” 2018-05-22
  • 网约车司机无证上岗拟纳入失信黑名单无证司机失信 2018-05-20
  • 300余名澳门中学生参加国旗手训练营(组图) 2018-05-20
  • 法前总统萨科齐遭拘 或因利比亚前要人递新证据 2018-05-20
  • 美媒称中国新人婚纱摄影很疯狂:有的仿如电影拍摄现场 2018-05-19
  • 立陶宛举行“汉语桥”中文比赛 2018-05-19
  • 上海嘉禾2017秋季艺术品拍卖会 2018-05-18
  • 海归回国就业创业遇到困难怎么办他帮海归找工作就业创业留学生海归 2018-05-18
  • 扛不住了?台当局拟放宽许可条件鼓励陆客赴台 2018-05-17
  • 美名校毕业典礼竞邀女性演讲者 希拉里将前往耶鲁希拉里耶鲁演讲者 2018-05-16
  • ASP300源码下载 | 微信红包群 | 设计 | 冠珠陶瓷 | 科技 | 北京赛车pk10微信源码 | 挖段子网 | 厦门旅游景点 | 旅游中国新闻网 | 钛媒体 | 健康网hsdcba | 每天资讯 | 广西农业技术信息 | 农业种植技术 |