- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章_抽象封装与类
第六章 抽象、封装与类
主要内容
一、抽象与封装
二、Java 的类
三、对象的创建与使用
四、参数传递
五、匿名对象
1、抽象
抽象内涵
去除掉对象中与主旨无关的次要部分,或是暂时不予考虑的部分
抽取出与研究工作有关的实质性的内容加以考察
软件开发方法中所使用的抽象类型
(1)过程抽象
(2)数据抽象
(1)过程抽象
将整个系统功能划分为若干部分,强调功能完成的过程和步骤
面向过程的软件开发方法采用的就是这种抽象方法
使用过程抽象有利于控制、降低整个程序的复杂度
缺点:这种方法本身自由度较大,难于规范化和标准化,操作起来有一定难度,在质量上不易保证
(2)数据抽象
2、封装
利用抽象数据类型将数据和操作封装在一起
数据被保护在抽象数据类型的内部
系统其他部分只能通过被授权操作与抽象数据交互
在面向对象程序设计中
抽象数据类型通过“类”来代表
每个类都封装相关的数据和操作
在实际开发过程中
类常用来构建系统内部的模块
封装特性把类内的数据保护得很严密,模块与模块间仅通过严格控制的界面进行交互
使它们之间耦合和交叉大大减少,从而降低了开发过程的复杂性,提高了效率和质量,减少了可能的错误
保证程序中数据的完整性和安全性
主要内容
一、抽象与封装
二、Java 的类
三、对象的创建与使用
四、参数传递
五、匿名对象
二. Java的类
1. Java 类概念
2. 类的定义与修饰
3. 域
4. 方法
1、Java类概念
类(Class)和对象(Object)是面向对象程序设计方法中最核心的概念。
类是对某一类事物的描述(共性),是抽象的、概念上的定义;
对象则是实际存在的属该类事物的具体的个体(个性),因而也称为实例(Instance) 。
1、Java类概念
类是Java程序的基本组成要素
封装了一类对象的状态和方法,是该类对象的原型
Java程序设计就是定义类的过程
Java程序中定义的类的数目和功能都是有限的
编程时还需要用到大量系统定义好的类,即Java类库中的类
1、Java类概念
类的构成:类头+类体
类体由数据成员(属性、域)与函数成员封装而成。
Java语言把数据成员称为域变量、属性、成员变量等;
把函数成员称为成员方法,简称为成员方法。
举例:圆柱体类。
二. Java的类
1. Java 类概念
2. 类的定义与修饰
3. 域
4. 方法
(1)定义类
定义类(声明类)
实际是定义类的静态属性和动态属性(方法)。用户定义一个类实际上就是定义一个新的抽象数据类型。
必须先定义类,然后才可利用所定义的类来声明相应的变量,并创建对象。
(1)定义类
定义类的语法结构
(1)定义类——实例
实例:圆柱体类的定义
(2)类的修饰符
Java程序在定义类时,可在class之前增加若干类的修饰符,修饰限定所定义的类的特性
类的修饰符分为访问控制符和非访问控制符两大类,有些类的修饰符也可以用来修饰类中的域或方法
本节讨论类的非访问控制符
(2)类的修饰符——abstract
抽象类是没有具体对象的概念类
抽象类不能直接被实例化,一般作为其它类的超类
举例
假设“鸟”是一个类,它可以派生出若干个子类如“鸽子”、“燕子”、“麻雀”、“天鹅”等
问题:那么是否存在一只实实在在的鸟,它既不是鸽子,也不是燕子或麻雀,它不是任何一种具体种类的鸟,而仅仅是一只抽象的“鸟”呢?
(2)类的修饰符——abstract
抽象类是其所有子类的公共属性的集合
使用该特性可提高程序开发和维护效率
以“鸟”的概念为例
假设需要向别人描述“天鹅”是什么,通常都会这样说:“天鹅是一种脖子长长,姿态优美的候鸟”
可见定义是建立在已知道什么是“鸟”的前提之上
只有在被进一步问及“鸟”是什么时,才会具体解释说:“鸟是一种长着翅膀和羽毛的卵生动物”
而不会在一开始就把“天鹅”描述成“是一种脖子长长,姿态优美,长着翅膀和羽毛的卵生动物”
(2)类的修饰符——abstract举例
已有两个类Circle和Rectangle,完成相关参数计算
(2)类的修饰符——abstract举例
问题
假设有若干个Circle,以及若干个Rectangle,希望计算它们的总面积
直截了当的做法是将它们分别放到两个数组中,用两个循环,加上一个加法,这种做法不是最理想的
如果还有其它形状,triangle, ellipses等
上述方法显得“累赘”
我们希望有一种统一的表示,例如用一个数组shape[] ,接受所有的形状,然后用
for(i=0; ishape.length; i++)
您可能关注的文档
最近下载
- 资料员工作内容.docx VIP
- P气瓶充装证考试题库及答案.doc VIP
- 上海市杨浦区2023-2024学年七年级下学期期中英语试卷 .docx VIP
- 2025年高考真题解析课件:2025年全国新高考二卷英语读后续写(课件).pptx VIP
- 贵阳市中心城区控制性详细规划(总则)——乌当组团.pdf VIP
- 图书出版合同(合同范本)7篇.docx VIP
- (正式版)D-L∕T 1770-2017 抽水蓄能电站输水系统充排水技术规程.docx VIP
- 《结构全寿命维护》课程教学大纲(本科).docx VIP
- SI、PI协同的EMI分析—打印版.pdf
- Unit2 Travelling Around Discovering Useful Structures 课件-2024-2025学年高中英语人教版(2019)必修第一册.pptx VIP
原创力文档


文档评论(0)