百科狗-知识改变命运!
--

面向对象编程的基本概念

乐乐1年前 (2023-12-05)阅读数 8#综合百科
文章标签对象主体

本文将介绍面向对象编程的基本概念,包括对象、类、封装、继承、多态、动态绑定、消息传递。

对象

对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。

类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。

封装

封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。

继承

继承是让某个类型的对象获得另一个类型的对象的特征。通过继承可以实现代码的重用:从已存在的类派生出的一个新类将自动具有原来那个类的特性,同时,它还可以拥有自己的新特性。

多态

多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。

动态绑定

面向对象编程的基本概念

动态绑定是指与给定的过程调用相关联的代码只有在运行期才可知的一种绑定,它是多态实现的具体形式。

消息传递

对象之间需要相互沟通,沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。

面向过程:即将问题转化为关系和数值,通过关系和数值来描述问题,解决问题。模块化程度低。

面向对象不是简单的对编程对象的处理方式。它确切的说应该是这样的样子:首先将现实世界中,主体(即所谓对象)和主体间的关系进行想象(抽象),对应到编程中,强调程序中的各个主体(对象)和他们得关系(继承,多态什么的)一一对应现实世界中的主体。

所谓面向对象,就是讲编程的理念,从对数据的算法分析,转变为对现实世界问题的剖析,进而使编程摆脱数据的束缚,使得程序就像自然世界的主体和主体间的关系那样,

先将程序变为为一个一个的主体的组合体,然后看主体间的关系,自然而然的使得代码非常好维护,重用性也非常强,因为你知道dog就是现实中的狗,那么狗这个主体有什么功能你自然知道,狗和人是什么关系,你也清楚,你就不必看代码来分析这段代码什么意思,和那段又有什么关系了。这是不是一种非常自然明了的编程方式呢。

很多教程上来就说这个怎么用,那个怎么回事,看代码看到头晕也不甚明了,编出的程序乱七八糟,想怎么编就怎么编,实际上,这样子编程已经不是面向对象了,因为他即不剖析主体和主体间的关系,也不将程序中的主体与关系和现实一一对应主体。

其实我很想知道,写那些编程书籍的人,本身是否是程序员,本身是否明白什么是面向对象,知不知道面向对象是一种程序的设计方式,而不是程序的编写方式。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)