- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1
第 2 章类与对象的基本概念
2
目录
2.1 面向对象的程序设计方法概述
2.2 类与对象
2.3 对象初始化和回收
3
2.1 面向对象的程序设计方法概述(续)
面向对象的程序设计
与结构化程序设计方法相比,更符合人类认识现实世界的思维方式
已成为程序设计的主流方向
涉及的主要概念
抽象
封装
继承
多态
4
对象
现实世界中
万物皆对象
都具有各自的属性,对外界都呈现各自的行为
程序中
一切都是对象
都具有标识 (identity), 属性和行为(方法)
通过一个或多个变量来保存其状态
通过方法(method) 实现他的行为
2.1 面向对象的程序设计方法概述(续)
5
类
将属性及行为相同或相似的对象归为一类
类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为
在面向对象的程序设计中,每一个对象都属于某个特定的类,
2.1 面向对象的程序设计方法概述(续)
6
结构化程序设计
通常由若干个程序模块组成,每个程序模块都可以是子程序或函数
数据和功能分离,代码难于维护和复用
面向对象程序设计
基本组成单位是类
程序在运行时由类生成对象,对象是面向对象程序的核心
对象之间通过发送消息进行通信,互相协作完成相应功能
2.1 面向对象的程序设计方法概述(续)
7
2.1.1 抽象
抽象
忽略问题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面
例:钟表
数据(属性)
int Hour; int Minute; int Second;
方法(行为)
SetTime(); ShowTime();
2.1 面向对象的程序设计方法概述
8
2.1.2 封装
封装
是一种信息隐蔽技术
利用抽象数据类型将数据和基于数据的操作封装在一起
用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的
封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象
2.1 面向对象的程序设计方法概述
9
封装的定义
清楚的边界
所有对象的内部信息被限定在这个边界内
接口
对象向外界提供的方法,外界可以通过这些方法与对象进行交互
受保护的内部实现
功能的实现细节,不能从类外访问。
2.1.2 封装(续)
2.1 面向对象的程序设计方法概述
10
2.1.3 继承
继承
是指新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类)
在继承过程中派生类继承了基类的特性,包括方法和实例变量
派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要
有助于解决软件的可重用性问题,使程序结构清晰,降低了编码和维护的工作量
2.1 面向对象的程序设计方法概述
11
单继承
任何一个派生类都只有单一的直接父类
类层次结构为树状结构
多继承
一个类可以有一个以上的直接父类
类层次结构为网状结构,设计及实现比较复杂
Java语言仅支持单继承
2.1.3 继承(续)
2.1 面向对象的程序设计方法概述
12
2.1.4 多态
多态
一个程序中同名的不同方法共存
主要通过子类对父类方法的覆盖来实现
不同类的对象可以响应同名的消息(方法) ,具体的实现方法却不同
使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序方法同名问题
2.1 面向对象的程序设计方法概述
13
类与对象
在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(Class)
一个类是对一类对象的描述。类是构造对象的模板
对象是类的具体实例
2.2 类与对象
14
2.2.1 类的声明
声明形式
[public] [abstract | final] class 类名称
[extends 父类名称]
[implements 接口名称列表]
{
变量成员声明及初始化;
方法声明及方法体;
}
类名首字母大写
类里面的元素叫类的成员变量/属性
2.2 类与对象
15
关键字
class
表明其后声明的是一个类。
extends
如果所声明的类是从某一父类派生而来,那么,父类的名字应写在extends之后
implements
如果所声明的类要实现某些接口,那么,接口的名字应写在implements之后
2.2.1 类的声明(续)
2.2 类与对象
16
修饰符
可以有多个,用来限定类的使用方式
public
表明此类为公有类
abstract
指明此类为抽象类
final
指明此类为终结类
类声明体
变量成员声明及初始化
可以有多个
方法声明及方法体
可以有多个
2.2.1 类的声明(续)
2.2 类与对象
17
钟表类
public class Clock { // 成员变量
您可能关注的文档
- 第5章平狄克-微观经济学-不确定性与消费者行为综述.ppt
- 第5章企业生产管理综述.ppt
- 第5章企业所得税的税收筹划综述.ppt
- 第2章教学设计的理论基础与基本方法综述.ppt
- 道路建筑材料(路桥11-3、4)综述.ppt
- 第5章区域经济一体化与世界经济发展综述.ppt
- 第2章金融资产综述.pptx
- 第2章经济全球化与世界经济发展新阶段综述.ppt
- 误差理论数据处理与统计分解.ppt
- 第5章热力循环综述.ppt
- 2025年城市供水厂自动化系统设计评估与智能优化策略.docx
- 四川省(蓉城名校联盟)新高考2022级高三适应性考试生物试题答案.docx
- 康复医疗器械细分领域行业竞争态势与市场前景研究报告.docx
- 开市客会员制零售模式在2025年顾客忠诚度提升策略报告.docx
- 聚焦2025年:公路客运行业转型升级与多元化发展交通信息化建设研究报告.docx
- 2025年资生堂美妆科技研发与行业未来趋势洞察报告.docx
- 2025年金融APP用户留存与营销策略关联性研究报告.docx
- 知识类媒体2025年内容付费模式创新与知识付费平台运营报告.docx
- 2025年教育质量评估与认证体系在学生德育评价中的应用研究报告.docx
- 2025年免疫治疗在自身免疫性神经病变中的应用研究报告.docx
最近下载
- 慢性阻塞性肺疾病(COPD)精品课件(图文).pptx VIP
- 装饰装修工程重点难点及处理措施.pdf VIP
- 金融市场风险的度量.pdf
- 通信工程施工质量管理措施范文.docx VIP
- 2012款三菱欧蓝德EX_汽车使用手册用户操作图示驾驶指南车主车辆说明书电子版.pdf
- 《基于SERVQUAL模型的京东生鲜农产品冷链物流服务质量评价实证研究(附问卷)》23000字.doc
- 宜宾建投集团笔试题目.pdf
- 2025年电气供配电系统大学毕业论文英文文献翻译及原文.pdf VIP
- 内蒙古民族大学2023-2024学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
- 地球物理测井核磁共振测井.ppt
文档评论(0)