- 1、本文档共144页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章类与对象_构建java程序的基石课件.ppt
本章知识重点 本章知识难点 4.1 面向对象的程序设计 4.1.1 面向对象的基本概念 4.1.1对 象 对象(Object): 4.1.1对 象 对象 对象 对象 类 类(Class) 类 类(Class) 类的概念 类(Class) 类与对象的关系 类与对象之间的关系,类似于数据类型与变量之间的关系;一个类可以生成无数个不同的对象,每个对象属性值不同,其状态也不同。 类与对象的关系示例 计算机模型与计算机实体之间的关系: 接口 接口(Interface): 包 面向对象编程(OOP) 从问题域客观存在的事物出发,将这些现实世界的物理实体抽象成概念世界的抽象数据类,再进一步将这种抽象数据类转换为计算机世界的类(Class); 类刻画出实体所具有的状态信息与所能发挥的功能信息,是创建对象时所遵循的模板(Template)。 对类进行实例化,就生成一个个的对象,对象对应于各个具体事物,是程序运行过程中实际发挥作用的类的独立内存映像。 借助于类与对象这两个面向对象程序中最基本的要素,按照尽可能符合人类自然思维的方式,来构造软件系统,这就是所谓的面向对象程序设计(OOP)。 OOP的逻辑过程 面向对象设计分析的完整过程如图所示: 4.1.2 面向对象的特征 抽 象 1. 抽象(Abstraction): 抽象的广义概念:从研究对象中提取与当前目标主题关系最密切的主要方面,而忽略掉与目标无关的那些方面或关系不大的细枝末节,从而更充分地注意与当前目标有关的方面,更明确地突出主题,这就是抽象。 抽象示例 下图阐述了如何由自然界众多的动物实体出发,经过抽象的处理过程,最终得到动物这一概念 。 封装 封装也可称为信息隐藏(Information Hiding), 是通过对象的方法来访问与改变对象属性的一种机制。 其实现的核心是将类的属性与相关的操作捆绑起来,包装成不可分割的、独立的对象实体,将内部的数据与实现细节尽可能隐蔽起来,使外部用户不能直接操纵对象的内部信息,只能通过对象对外提供的施加有一定限制的访问接口来使用对象。 封装示例 左图形象地说明了一个类的封装原理。类对数据与行为的封装是借助于不同级别的访问修饰符来达到控制目的。 继 承 继承是指从已有的类中可以派生出若干个新类,已有类称为基类或父类,新类称为派生类或子类。 子类将自动地获得基类的属性与方法,从而不需再重复定义这些属性与方法;当然子类还可以修改父类的方法或增加新的方法,从而使自己更适合特殊的需要。类之间的继承关系是现实世界中遗传关系的直接模拟。 继 承 继 承 多态性 4. 多态性(Polymorphism): 是指允许不同类的对象对同一消息作出各自的响应,即以统一的风格处理已存在的数据及相关的操作。多态性语言具有灵活、抽象、行为共享、代码共享的优势,较好地解决了应用程序中方法同名的问题。 面向对象程序设计(OOP)的优越性 从面向过程到面向对象是程序设计技术的一个飞跃。人们之所以要采用面向对象的程序设计技术,其目的在于: 4.2 类的描述 4.2 类的描述 4.2.1 类的定义 4.2.1 类的定义 类的定义 修饰符public、说明了类的属性,abstract与final为互斥的两个修饰符,不能同时出现于一个类的声明中。 类的定义(续1) public修饰符将生命为公共类,公共类的访问不受限制,其他类与任何对象都可以使用这个类。如出现,一般置于类声明语句的最前端。 类的定义(续2) 成员变量与成员方法为类的成员要素,简称为成员(Member),它们又分为静态/类的要素与对象/实例要素两类。 构造方法是具有与类名相同名称的一种特殊方法,用来创建类的对象及对成员变量进行初始化。构造方法为可选项,当省略时,Java系统会按缺省方式定义空白的构造方法。 类定义示例 public final class Date //类的声明语句 { //类体定义 private int year; //年 private int month; //月 private int day; //日 //初始化年、月、日值的方法 public void initDate(int y, int m, int d){……} //显示当前日期值的方法 public void sh
您可能关注的文档
- 红鹤沟通北京龙湖·时代天街开盘前广告策略案111p.ppt
- 2013山东省高中英语基础盘点课件:Unit2 The Olympic Games ——奥林匹克运动会(人教版必修2).ppt
- [资料]体验商务英语3-演习.ppt
- 第三次课 标志设计 PS选区及颜色工具的应用.ppt
- 14、15年高考地理热点.ppt
- 林学概论 第九章 森林可持续经营.pptx
- [精彩]数据结构常识点总结,有工大年夜师长教师多年经历编写.ppt
- 创新管理培训教材.PPT_图文.ppt
- 篮球规则违例部分演示稿.ppt
- 英语实用听说教程Unit1.ppt
- 政府办副秘书长深入学习《党组讨论和决定党员处分事项工作程序规定》研讨发言.docx
- 在全省纪检监察系统警示教育会议上的讲话.docx
- 研讨发言:深学细悟程序规定,筑牢人大廉洁防线.docx
- 研讨发言:深入学习贯彻《党组讨论和决定党员处分事项工作程序规定》,扎实推进统战系统全面从严治党.docx
- 副部长在宣传部理论学习中心组专题学习《党组讨论和决定党员处分事项工作程序规定》研讨会上的发言.docx
- 组长在深入贯彻作风建设专题省委第五督导组指导督导见面会上的讲话.docx
- 在线音乐行业深度解析:复杂投资环境下的优质长期现金流资产-国信证券-2025.6.18-51页.pdf
- 生成式人工智能(GenAI)展望报告:探索技术、社会和政策的交集(英)-欧洲委员会-2025-167页.pdf
- 恐怖小屋分析报告.pptx
- 八年级历史下册第4单元第12课香港和澳门的回归.pptx
最近下载
- 12J201平屋面建筑构造图集.docx VIP
- 陶瓷绝缘连接器.pdf VIP
- 土木专业英国规范NA+A1_2012 to BS EN 1993-2_2006.pdf VIP
- 海南优腾爱科医疗科技有限公司医疗器械研发生产环评报告表.docx
- DB31_T 416-2008 城市道路路名牌(法规规范).pdf VIP
- 电力井施工规范.docx VIP
- 2023年最新的李白赞美杨贵妃的诗句.docx VIP
- ESC+2024+心房颤动(房颤)管理指南解读课件.pptx VIP
- 2025四川乐山市五通桥区发展产业投资有限公司公开招聘11人笔试备考题库及答案解析.docx VIP
- 人工智能基础(国科技大)中国大学MOOC慕课 章节测验 客观题答案.docx VIP
文档评论(0)