问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

面向对象程序设计的特点和优点52

发布网友 发布时间:2023-10-13 03:44

我来回答

3个回答

热心网友 时间:2024-11-30 15:35

面向对象的基本概念

(1)对象。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

(2)对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中

(3)类。
具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

(4)类的结构。
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。

①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。

(5)消息和方法。
对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体

面向对象的特征

(1)对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

(2)分类性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

(3)继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。

在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

(4)多态性(多形性)
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。

三、面向对象的要素

(1)抽象。
抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。

类实现了对象的数据(即状态)和行为的抽象。

(2)封装性(信息隐藏)。
封装性是保证软件部件具有优良的模块性的基础。
面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。
对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。

(3)共享性
面向对象技术在不同级别上促进了共享
同一类中的共享。同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。
在同一应用*享。在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。
在不同应用*享。面向对象不仅允许在同一应用*享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。

4.强调对象结构而不是程序结构

热心网友 时间:2024-11-30 15:36

《管理系统中计算机应用》面向对象程序设计的基本思想是封装性和可扩展性

热心网友 时间:2024-11-30 15:37

你这是在考试撒,

学生时代的问题还真回答不了,

这些东西慢慢体会,
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
三角蟾应该放在吧台的左前方还是右前方 江西省普通高中学生综合素质优秀自我评价范文 江西省余干中学基础设施 江西中学生综合素质评价怎么写 南昌市有什么高中是可以住校的啊 江西省上高中学校园环境 南昌哪些高中有宿舍 辛未 庚寅 丁巳 辛丑 男命,婚姻怎么样,什么时候才能结婚? 辛未 辛丑 乙酉日 酉时命运如何? 谈谈你对中医的认识 董明珠名人事迹最感动的地方22 根据董明珠的事迹写篇议论文28 当董明珠还是销售经理的时候为什么她会把一个亿的合作伙伴给直接...6 很多人为什么会认为董明珠的销售经验像开了挂一样?1 帮我写一个姓名是张紫涵的姓名藏头诗7 2009国庆阅兵作文1748 阳台的tiao字怎么写 作文"我们的名字叫中国人"7 我们老师叫我下星期上台演讲,大家有什么好材料,急!!!16 如何选择合适的票据打印机?1 为啥打开穿越火线出现这个,卸载重新安装、杀毒后还是出现这个,... 总的量变过程中的部分质变,可区分为(多项选择题) 挑的大写字母 骑马与砍杀 光明与黑暗 中进村子洞后那四盏灯咋毁5 跪求骑马与砍杀1.011的序列码,本人家里没钱,买不上,网上...1 骑马与砍杀 光明与黑暗胖罗宾藏的好东西在哪里41 骑马与砍杀战团泡菜我怎么看不见血槽和技能槽。都是黑色,没血啊... ...选的是理化,我的理想是一本,可是我数学差,怎么办?? 请问军属可以享有低保吗?2 没有满一年可以修改吗1 QQ邮箱的那个,圈A怎么弄5 C++面向对象的三大特性82 邮箱格式那个圈里有个a的怎么打出来2 已知2的a次方=3,2的b次方=6,2的c次方=12,求a、b、c之间满足的等量关系... 填空:( )( )而出( )不可( )[至少填4个] 在美宜佳便利店购买的支付宝充值码输入的号码不是本人的,收不到... 被盗,账号被换,密码丢失,绑定的手机号被换,绑定了银行... 出已知2的a次方=3,2的b次方=6,2的c次方=12,试找出a,b,c之间的关系 是... 求助,我在美宜佳买了支付宝充值码 被盗了对方把密保手机号还有密码都换了把我微信好友全部删... 被盗了,密码手机号支付密码都改了,我已经冻结了,绑定银...3 被盗了,绑定的手机号被换了,银行卡取消绑定了,账号密码... 农行固定收益类的理财靠谱吗?3 所有汽车标志585 主板 华硕 K43Sd (英特尔 HM65 芯片组) 可以用...2 为什么闲聊这几天零钱提现不了,也发不出,也没有通知? 闲聊里的零钱很长时间都提现不了,到底什么情况?4 怎么通过红包交易单号找到对方? 闲聊里的零钱四个月还提现不出来,是不是骗子? 以知2的A次方=3,2的B次方=6,2的C次方=12求A.B.C的关系