




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 1 14 1 面向对象的程序设计 第二章 2020 1 14 2 本章内容 软件开发的阶段面向对象的分析和设计简介类和对象构造方法对象的创建和使用信息的封装和隐藏JavaAPI 2020 1 14 3 软件开发的五个阶段 需求分析系统设计编码实现测试阶段系统维护 2020 1 14 4 分析 设计及编码阶段 分析阶段 分析并确定用户需求 用采用适当的模型规范地表述这一需求 形成分析模型 为要处理的现实世界中的事物建立抽象建模 设计阶段 确定系统如何实现所需的功能 采用适当的数据结构 控制逻辑 将分析模型细化 编码实现 选定一种适当的编程语言 编码实现上述的设计 并在开发过程中引入测试 完善整个解决方案 2020 1 14 5 面向对象的思想概述 面向对象的编程思想力图使对计算机语言中对事物的的描述与现实世界中该事物的本来面目尽可能的一致 类 class 和对象 object 是面向对象方法的核心概念 类是对一类事物描述 是抽象的 概念上的定义 对象是实际存在的该类事物的每个个体 因而也称实例 instance 2020 1 14 6 类和对象举例 定义一个类classPerson intage intgetAge returnage voidsetAge inti age i 声明并创建一个Person类的对象 将该对象命名为aPersona newPerson 调用对象a中的方法a setAge 36 2020 1 14 7 声明类 语法格式 class 举例 publicclassPerson privateintage publicvoidshowAge inti age i 2020 1 14 8 声明属性 语法格式 type defaultValue 举例 publicclassPerson privateintage publicStringname Lila 2020 1 14 9 声明方法 语法格式 举例 publicclassPerson privateintage publicintgetAge returnage publicvoidsetAge inti age i 2020 1 14 10 对象的创建和使用 使用new 构造方法创建一个新的对象 使用 对象名 对象成员 的方式访问对象成员 包括属性和方法 Example publicclassTest publicstaticvoidmain String args Persond newPerson d setAge 42 System out println 本人年龄 d getAge 2020 1 14 11 Ex2 1 分析并编译 运行下面的源文件 体会类的定义 对象的创建 对象成员方法的调用 类的定义和应用程序在源文件结构上的不同 源文件A javapublicclassA publicvoidm1 System out println hi 源文件Test javapublicclassTest publicstaticvoidmain String args Ahello newA hello m1 2020 1 14 12 面向对象的应用举例 1 程序BirthDate java 定义类BirthDatepublicclassBirthDate privateintday privateintmonth publicintyear publicvoidsetDay intd day d publicvoidsetMonth intm month m publicvoidsetYear inty year y publicintgetDay returnday publicintgetMonth returnmonth publicintgetYear returnyear publicvoidshow System out println day month year 2020 1 14 13 面向对象的应用举例 2 程序ObjectOperating java 定义类ObjectOperatingpublicclassObjectOperating publicstaticvoidmain Stringargs BirthDateb newBirthDate b setDay 25 b setMonth 12 b setYear 2003 b day 2 不合法 无权访问该私有属性b year 2003 b show 2020 1 14 14 Ex2 2 BirthDate javaObjectOperating java 2020 1 14 15 信息的封装和隐藏 1 使用者对类内部定义的数据 对象的成员变量 的直接操作会导致数据的错误 混乱或安全性问题 publicclassPerson publicintage publicclassTest publicstaticvoidmain Stringargs Personb newPerson b age 3 2020 1 14 16 信息的封装和隐藏 2 Java中通过将数据封装 声明为私有的 private 再提供一个或多个公开的 public 方法实现对该属性的操作 以实现下述目的 隐藏一个类的实现细节 使用者只能通过事先定制好的方法来访问数据 可以方便地加入控制逻辑 限制对属性的不合理操作 便于修改 增强代码的可维护性 2020 1 14 17 信息的封装和隐藏 3 classPerson privateintage publicvoidsetAge inti if i130 return age i publicintgetAge returnage publicclassTest publicstaticvoidmain Stringargs Personb newPerson b setAge 3 b setAge 300 System out println b getAge 2020 1 14 18 Ex2 3 Test java 2020 1 14 19 构造方法 功能 创建其所属类型的一个新的对象 语法格式 举例 publicclassPerson privateintage publicPerson age 18 publicPerson inti age i publicvoidsetAge inti age i 2020 1 14 20 默认的构造方法 Java语言中 每个类都至少有一个构造方法 如果类的定义者没有显式的定义任何构造方法 系统将自动提供一个默认的构造方法 默认构造方法没有参数默认构造方法没有方法体Java类中 一旦类的定义者显式定义了一个或多个构造方法 系统将不再提供默认的构造方法 2020 1 14 21 默认的构造方法 类的定义 publicclassPerson privateintage publicvoidsetAge intw age w 等价于 publicclassPerson privateintagepublicPerson publicvoidsetAge intw age w 应用举例 publicclassTest publicstaticvoidmain Stringargs Persond newPerson d setAge 120 2020 1 14 22 测试构造方法 Test constructor java结论 2020 1 14 23 package语句 为便于管理大型软件系统中数目众多的类 解决类的命名冲突问题 Java引入包 package 机制 提供类的多重类命名空间 java io lang System String Object 2020 1 14 24 package语句 package语句作为Java源文件的第一条语句 指明该文件中定义的类所在的包 若缺省该语句 则指定为无名包 它的格式为 packagepkg1 pkg2 pkg3 举例 Test javapackagep1 publicclassTest publicvoiddisplay System out println inmethoddisplay Java编译器把包对应于文件系统的目录管理 package语句中 用 来指明包 目录 的层次 2020 1 14 25 编译和生成包 如果在程序Test java中已定义了包p1 编译时采用如下方式 javacTest java则编译器会在当前目录下生成Test class文件 再在适合位置 destpath目录 手动创建一个名为p1的子目录 将Test class复制到该p1目录下 javac ddestpathTest java则编译器会自动在destpath目录下建立一个子目录p1 并将生成的 class文件都放到destpath p1下 2020 1 14 26 import语句 为使用定义在不同包中的Java类 需用import语句来引入所需要的类 语法格式 importpackage1 package2 classname 应用举例 importp1 Test importp1 publicclassTestPackage publicstaticvoidmain Stringargs Testt newTest Test类在p1包中定义t display 2020 1 14 27 import语句分析 对于importjava awt 将按照路径 CLASSPATH java awt 来查找所需的外部类 环境变量CLASSPATH是用来指示Java程序所引用的外部类所在的一系列相对路径 2020 1 14 28 Ex1 在练习Ex2 1的类定义文件A java中增加包声名语句 指定其所在包为mypack 并对应用程序文件Test java做相应修改 添加import语句 实现同样的功能 提示 Test java A java Test class保存在当前目录 如 c myex ex02 而A class保存在当前目录下的与声明的包名同名的子目录中 如 c myex ex02 mypack 2020 1 14 29 JDK中主要的包介绍 java lang 包含一些Java语言的核心类 如String Math Integer System和Thread 提供常用功能 java awt 包含了构成抽象窗口工具集 abstractwindowtoolkits 的多个类 这些类被用来构建和管理应用程序的图形用户界面 GUI java applet 包含applet运行所需的一些类 包含执行与网络相关的操作的类 java io 包含能提供多种输入 输出功能的类 java util 包含一些实用工具类 如定义系统特性 使用与日期日历相关的函数 2020 1 14 30 JavaAPI文档 API ApplicationProgrammingInterfac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阿里地区2025-2026学年八年级下学期语文期末模拟试卷
- 2025 年小升初天津市初一新生分班考试数学试卷(带答案解析)-(冀教版)
- emshkm2025年河南省建设工程造价员资格认证考试试卷
- 社区节前安全知识培训课件
- 山东省聊城市东昌府区王口小学2024-2025学年二年级下学期数学期末检测卷(无答案)
- 北师大版五年级上册数学第二单元 轴对称和平移 检测卷(无答案)
- 退休人员应聘合同范本
- 燃气施工安装合同范本
- 社区春季消防知识培训课件
- 建材维修安装合同范本
- 高中思想政治-人教版新教材必修1第四课第一框:中国特色社会主义进入新时代教学设计学情分析教材分析课后反思
- DB6105T 180-2022 大豆种子田间检验技术规程
- 惠州卫生职业技术学院辅导员考试题库
- 试用期转正审批表及考核表实用文档
- 2023年爱粮节粮知识竞赛试题
- 印尼劳动法中文版
- 内科大查房课件综合医院抑郁诊疗-包头
- 中式烹调师高级技师试题与答案
- GB/T 9573-2013橡胶和塑料软管及软管组合件软管尺寸和软管组合件长度测量方法
- GB/T 3622-1999钛及钛合金带、箔材
- 旅游相册:宁夏旅游课件
评论
0/150
提交评论