多态性增强了软件的灵活性和重用性(面向对象有什么特点和好处)

2024-07-16 21:36:29 29

多态性增强了软件的灵活性和重用性(面向对象有什么特点和好处)

本文目录

面向对象有什么特点和好处

面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。 面向对象的特征 (1)对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)分类性。 分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。 (3)继承性。 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。 在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。 采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。 (4)多态性(多形性) 多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性和重用性。..使用面向对象思想进行开发有以下优点:1、易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。3、效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。4、易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。

C++支持面向对象设计的四个要素

(1)对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)抽象性。 分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。 (3)继承性。 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。 在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。 采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。 (4)多态性(多形性) 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性和重用性。

面向对象的特征有哪些方面

抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。- 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)。- 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。- 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1). 方法重写(子类继承父类并重写父类中已有的或抽象的方法);2). 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。

多态性增强了软件的灵活性和重用性(面向对象有什么特点和好处)

本文编辑:admin

更多文章:


js命令大全(怎么用js获取div的当前宽度)

js命令大全(怎么用js获取div的当前宽度)

大家好,关于js命令大全很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于怎么用js获取div的当前宽度的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录怎

2024年7月8日 12:02

on a mission(节日前应用on还是in还是at)

on a mission(节日前应用on还是in还是at)

本文目录节日前应用on还是in还是at求啊姆with out me歌词 中文翻译节日前应用on还是in还是at用on和at都行,不用in。如果指的是整个节日庆祝的那几天就用at,但是如果特指节日的某一天,就用on。一、at读音:英   释义

2024年7月4日 01:07

在线颜色识别(有没有哪个网站,能够在线查看网页的颜色代码的,比如RGB或者HSV)

在线颜色识别(有没有哪个网站,能够在线查看网页的颜色代码的,比如RGB或者HSV)

大家好,今天小编来为大家解答以下的问题,关于在线颜色识别,有没有哪个网站,能够在线查看网页的颜色代码的,比如RGB或者HSV这个很多人还不知道,现在让我们一起来看看吧!本文目录有没有哪个网站,能够在线查看网页的颜色代码的,比如RGB或者HS

2024年7月15日 02:21

conservation是什么意思(conserve conservation 的意思是)

conservation是什么意思(conserve conservation 的意思是)

本文目录conserve conservation 的意思是conservation和preservation作为“保护”意思的区别conservative是什么意思conservatives是什么意思conservation什么意思pre

2024年5月5日 00:09

在线课程表生成(今日校园ios怎么添加课表)

在线课程表生成(今日校园ios怎么添加课表)

大家好,今天小编来为大家解答以下的问题,关于在线课程表生成,今日校园ios怎么添加课表这个很多人还不知道,现在让我们一起来看看吧!本文目录今日校园ios怎么添加课表免费排课表软件哪个好课表app哪个最好用Excel做课程表,在线等大神!vi

2024年8月11日 21:06

jq街机下载了怎么玩不了?一个很老的街机格斗游戏,每个角色由动物象征

jq街机下载了怎么玩不了?一个很老的街机格斗游戏,每个角色由动物象征

本文目录jq街机下载了怎么玩不了一个很老的街机格斗游戏,每个角色由动物象征找一个飞机街机游戏 ~~不知道名字 下面介绍一个90年左右的街机飞机游戏谁能帮我弄个街机游戏合集模拟器我上学时在街机室玩过一款叫勇闯海底城的飞机游戏,不知道大家还有印

2024年7月13日 16:03

嵌入式底层开发和应用层开发(嵌入式应用程序开发与嵌入式底层驱动程序开发有什么区别)

嵌入式底层开发和应用层开发(嵌入式应用程序开发与嵌入式底层驱动程序开发有什么区别)

本文目录嵌入式应用程序开发与嵌入式底层驱动程序开发有什么区别学嵌入式,底层驱动开发比应用开发更重要吗为啥呢嵌入式做做底层系统还是做应用层,哪个有前途嵌入式底层驱动和应用开发哪个难嵌入式开发和底层开发有什么区别我想从事嵌入式开发,请问底层开发

2024年7月23日 02:02

native ide(BIOS---Advanced---OnChip SATA Type---选择Native IDE分别是什么意思)

native ide(BIOS---Advanced---OnChip SATA Type---选择Native IDE分别是什么意思)

大家好,今天小编来为大家解答以下的问题,关于native ide,BIOS---Advanced---OnChip SATA Type---选择Native IDE分别是什么意思这个很多人还不知道,现在让我们一起来看看吧!本文目录BIOS-

2024年7月20日 19:20

oracle列转行函数(oracle  列转行)

oracle列转行函数(oracle 列转行)

这篇文章给大家聊聊关于oracle列转行函数,以及oracle 列转行对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录oracle 列转行oracle的clob字段进行列转行oracle中将列数据变成行数据oracle s

2024年7月5日 04:13

mybatis的工作原理(mybatis二级缓存原理)

mybatis的工作原理(mybatis二级缓存原理)

本文目录mybatis二级缓存原理mybatis+druid+jdbc 原理介绍mybatis原理是什么mybatis原理执行流程mybatis中动态sql执行原理Spring整合Mybatis一文讲透,手把手带你实操mybatis原理 接

2024年3月20日 11:50

国内外著名的软件公司有哪些(国内最大的软件公司是哪家)?全国比较靠谱的软件开发公司是哪家

国内外著名的软件公司有哪些(国内最大的软件公司是哪家)?全国比较靠谱的软件开发公司是哪家

本文目录国内外著名的软件公司有哪些(国内最大的软件公司是哪家)全国比较靠谱的软件开发公司是哪家国内知名软件公司有哪些(十大软件公司)软件开发公司做的好的有哪些软件公司排名前十国内做软件比较好的公司都有哪些全球著名软件公司西安软件行业排名前1

2024年7月4日 00:51

intel裁员赔偿(公司裁员补偿工资如何计算)

intel裁员赔偿(公司裁员补偿工资如何计算)

这篇文章给大家聊聊关于intel裁员赔偿,以及公司裁员补偿工资如何计算对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录公司裁员补偿工资如何计算被裁员的赔偿金一般怎么算外企裁员补偿标准裁员公司怎么赔偿裁员赔偿标准英特尔巨震!传将

2024年7月13日 16:34

detail用法及搭配(详见附件用英语怎么说)

detail用法及搭配(详见附件用英语怎么说)

本文目录详见附件用英语怎么说“细节决定成败”用英语怎么说详见附件用英语怎么说详见附件的英文翻译是Please find the attached file for details.1、find的基本意思是“发现,找到”,作“发现”解时指发现

2024年7月1日 04:21

hibernate入门案例(Hibernate中find方法怎样应用)

hibernate入门案例(Hibernate中find方法怎样应用)

大家好,如果您还对hibernate入门案例不太了解,没有关系,今天就由本站为大家分享hibernate入门案例的知识,包括Hibernate中find方法怎样应用的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录H

2024年8月1日 03:10

外键的作用是什么?数据库中外键的概念及作用

外键的作用是什么?数据库中外键的概念及作用

本文目录外键的作用是什么数据库中外键的概念及作用外键名词解释mysql 外键约束语句是什么怎么用什么是外键怎么在SQL中设置外键sql怎么设置外键外键的作用是什么外键的作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两

2023年11月24日 17:00

数据库datediff函数的使用方法(datediff函数怎么用啊)

数据库datediff函数的使用方法(datediff函数怎么用啊)

本文目录datediff函数怎么用啊sqlserver 中datediff函数怎样实现变量操作datediff函数用法!datediff函数怎么用啊用法:DATEDIFF() 函数返回两个日期之间的时间,例如:1、使用如下 SELECT 语

2024年7月14日 14:54

basement翻译(地下的用英语怎么说)

basement翻译(地下的用英语怎么说)

本篇文章给大家谈谈basement翻译,以及地下的用英语怎么说对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录地下的用英语怎么说英文翻译 谢

2024年8月21日 16:50

python判断完美数(找出1000以内的所有完数python)

python判断完美数(找出1000以内的所有完数python)

本文目录找出1000以内的所有完数pythonpython编写函数,实现判断正整数n是否是完数若是,函数返回True,否则返回Flasepython怎么计算完美数python编写程序,判断一个数字是否符合:三三数之剩二五五数之剩三,七七数之

2024年7月2日 05:58

url提取工具(视频采集地址怎么用)

url提取工具(视频采集地址怎么用)

本文目录视频采集地址怎么用有哪些逆天又实用网页工具视频采集地址怎么用1/3 分步阅读选择一个视频网站进行采集2/3打开八爪鱼采集器,登录账号3/3创建采集任务,采集任务及任务组名称,点击“下一步”,开始采集规则的设置创建翻页循环1/3进入采

2024年7月17日 05:26

htaccess伪静态文件(如何设置伪静态规则)

htaccess伪静态文件(如何设置伪静态规则)

本文目录如何设置伪静态规则用.htaccess文件伪静态,文件怎么写关于伪静态规则.htaccess文件要怎么写一个Apache服务器伪静态文件.htaccess中,两条伪静态规则发生冲突,求解决方案如何设置伪静态规则设置伪静态规则的具体步

2024年5月4日 15:05

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1731
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索