《面向对象入门》PPT课件.ppt_第1页
《面向对象入门》PPT课件.ppt_第2页
《面向对象入门》PPT课件.ppt_第3页
《面向对象入门》PPT课件.ppt_第4页
《面向对象入门》PPT课件.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四讲 面向对象和UML 2 回顾 循环语句while do while for的区别是什么 inti 0 j 0 while i4 System out println i continue System out println j i 写出运行结果 输出 3 预习检查 类与对象的关系是什么 定义一个类的语法是什么 如何创建一个类的对象 4 本章任务 以OO Object oriented 方式实现 Accp学校类 描述Accp中心基本信息学生类 输出学生信息教员类 输出教员信息 5 领会面向对象编程的核心思想掌握类的含义和设计理解封装会创建和使用对象 本章目标 6 面向过程编程与面向对象编程比较 实例 编写求解矩形面积和周长的程序1 面向过程的编程方法将任务分解为求解矩形面积和周长的方法编写计算矩形面积和矩形周长的函数在主程序中 调用求解计算矩形面向和周长的函数 完成程序功能2 面向对象的编程方法编写描述矩形对象的类 类中包含矩形的长 宽等属性 求解矩形面积和周长的方法在主程序中 创建一个指定长 宽的矩形对象 发送求解面积和周长的消息给矩形对象 对象作出反应 计算并返回面积和周长值 完成程序功能 7 面向过程方法与面向对象方法比较 面向过程方法 采用功能划分的方法求解问题方法强调过程的抽象和模块化函数是组成程序的基本单元当你看到这个面积函数的时候 你知道这是求矩形的面积的函数吗 面向对象方法 侧重于采用系统结构的划分方法来求解问题方法强调对现实世界的实体和概念的抽象类是组成程序的基本单元 8 2020 3 26 面向过程编程与面向对象编程比较 结构化程序设计方法与面向对象程序设计方法地比较 结构化程序设计侧重于功能抽象 强调确定和分解系统的功能 其缺点 功能分解的随意性大系统功能最不稳定 易变化面向对象程序设计侧重于描述系统结构 功能抽象 数据抽象 其优点 系统结构相对稳定灵活的机制 如继承 多态和动态绑定有利于修改和扩充系统功能 9 面向对象的设计思想 心理学研究表明 把客观世界由许多对象组成 对象具有其属性和行为 之间存在着各种联系 这样能够更好的刻画问题域 也更接近人类的自然思维方式 这就是面向对象程序开发思想的由来 面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则 如抽象 继承 聚合 多态等 10 类 对象 之间的关系 关联关系 11 类 对象 之间的关系 继承关系 12 类 对象 之间的关系 聚合关系 13 类和对象的概念 类是用于描述一类型的对象的一个抽象的概念 类中定义了这一类对象所具有的属性和行为 类可以看成一类对象的模板 对象可以看成该类的一个具体实例 14 万物皆对象 世界是由什么组成的 15 身边的对象 布兰尼 朱丽叶 顾客姓名 朱丽叶年龄 28体重 52千克操作 购买商品 姓名 布兰尼职衔 收银员年龄 35体重 60千克操作 收款打印账单 16 对象的特征 属性 属性 对象具有的各种特征每个对象的每个属性都拥有特定值例如 布兰尼和朱丽叶的体重不一样 60kg 布兰尼 属性 35岁 17 对象的特征 方法 方法 对象执行的操作 打单 收银 方法 刷卡 18 对象的属性和方法 列出尼古拉斯 凯奇驾驶的这辆法拉利F360Spider的属性和方法列出小狗对象的属性和方法 属性 品牌 法拉利型号 F360Spider颜色 黄色价格 380万元方法 发动停止加速 属性 颜色 白色方法 叫跑吃 19 小结1 说一说教室里的对象描述他们的属性和方法 颜色 黑色品牌 BENQ投影 姓名 张三年龄 20学习 类型 白炽灯开关变亮变暗 材制 木质支撑物品 20 封装 对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起 共同体现事物的特性 二者相辅相承 不能分割 谁看见过只有 完好的零件和颜色 而不能开动的汽车 21 从对象抽象出 类 抽取出下列对象的属性和方法的共同特征 轿车 顾客 22 类 顾客类轿车类 类是模子 确定对象将会拥有的特征 属性 和行为 方法 类是对象的类型不同于int类型 具有方法 各种口味的球状冰淇淋 球状冰淇淋模子 23 小结2 类和对象有什么区别呢 类是抽象的概念 仅仅是模板 比如说 人 对象是一个你能够看得到 摸得着的具体实体 比如 小布什 小布什 普京 克林顿 24 Java是面向对象的语言 所有Java程序都以类class为组织单元关键字class定义自定义的数据类型 publicclassHelloAccp publicstaticvoidmain String args System out println 使用Java语言理解程序逻辑 25 Java类模板 类将现实世界中的概念模拟到计算机程序中 publicclass类名 定义属性部分属性1的类型属性1 属性2的类型属性2 属性n的类型属性n 定义方法部分方法1 方法2 方法m 26 定义类 定义一个类的步骤1 定义类名2 编写类的属性3 编写类的方法 27 类示例2 1 在不同北大青鸟培训中心 北京中心 杭州中心等 你会感受到相同的环境和教学氛围 用类的思想输出Accp中心信息 28 类示例2 2 publicclassAccpSchool 定义北大青鸟中心的属性StringschoolName 中心的全称intclassNum 教室的数目intlabNum 机房的数目 定义北大青鸟中心的方法publicStringtoString returnschoolName 培训ACCP学员 n 配备 classNum 教 labNum 机 定义类的toString 方法 用于输出类相关的信息 publicStringtoString return字符串 方法体 成员变量 29 常见错误 publicclass Book StringbookName StringauthorName intpageNum booleanisAvailable 类命名规则 1 不能使用Java关键字2 首字母可以为字母 也可以是 或 建议不要这样 3 不能包含空格或 号 代码错误 30 如何定义类的方法 类的方法定义类的某种行为 或功能 方法的名称 方法的主体 方法返回的数据类型 定义类的方法 public返回值类型方法名 这里编写方法的主体 步骤一 定义方法名以及返回值 步骤二 编写方法体 31 方法的命名 如何给方法起名字 必须以字母 或 开头可以包括数字 但不能以它开头遵循的命名规范通常方法名是一个动词 如果有两个以上单词组成 第一个单词的首字母小写 其后单词首字母大写 32 方法的返回值 两种情况如果方法具有返回值 方法中必须使用关键字return返回该值 返回类型为该返回值的类型如果方法没有返回值 返回类型为void publicclassStudent Stringname 张三 publicvoidgetName returnname 返回类型要匹配 return表达式 编译错误 33 常见错误2 1 publicclassAccpSchool publicstaticvoidmain String args return ACCP北京中心 返回类型是void方法中不能有返回值 34 常见错误2 2 publicclassStudent publicdoublegetInfo doubleweight 95 5 doubleheight 1 69 returnweight height 方法至多可以返回一个值 不能返回多个值 35 方法调用 方法是个 黑匣子 完成某个特定的应用程序功能 并返回结果方法调用 执行方法中包含的语句 对象名 方法名 小明过生日 爸爸送他一个电动狮子玩具 编程测试这个狮子能否正常工作 演示示例1 演示运行效果 36 方法调用 publicclassAutoLion Stringcolor 黄色 publicvoidrun 方法1 跑System out println 正在以0 1米 秒的速度向前奔跑 publicStringbark 方法2 叫Stringsound 吼 returnsound publicStringgetColor 方法3 获得颜色属性returncolor publicStringshowLion 方法4 描述狮子特性return 这是一个 getColor 的玩具狮子 publicclassTestLion publicstaticvoidmain String args AutoLionlion newAutoLion System out println lion showLion lion run System out println lion bark 在类的方法中调用该类另一个方法 在main 方法中调用类的方法 演示示例2 设置断点演示方法调用执行过程 37 方法调用小结 方法之间允许相互调用 不需要知道方法的具体实现 提高了效率 38 变量作用域3 1 publicclassAutoLion Stringcolor 黄色 publicvoidrun 方法1 跑System out println 正在以0 1米 秒的速度向前奔跑 publicStringbark 方法2 叫Stringsound 吼 returnsound publicStringgetColor 方法3 获得颜色属性returncolor publicStringshowLion 方法4 输出类的描述信息return 这是一个 getColor 的玩具狮子 叫声是 sound 可以调用吗 演示示例3 变量作用域 39 变量作用域3 2 变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域 for inti 0 a 0 i 4 i a System out println a a的作用域仅在for循环中 代码错误 40 变量作用域3 3 变量1类型变量1 变量2类型变量2 变量3类型变量3 public返回类型方法1 变量4类型变量4 public返回类型方法2 变量5类型变量5 publicclassAutoLion AutoLion类的方法别的类的方法 谁能使用这些变量 方法1 方法2 成员变量 局部变量 局部变量 41 方法调用案例 编写成绩计算类 ScoreCalc 编写测试类 成绩计算类 测试类 演示示例4 方法调用 42 小结1 编写手机类 Phone 它可以下载音乐 可以播放这些音乐 可以进行充电编写电池类 Cell 自动续电编写测试类 Test 手机类 电池类 测试类 演示示例5 演示效果 43 如何创建和使用对象 使用对象的步骤 使用new创建类的一个对象使用对象 使用 进行以下操作给类的属性赋值 对象名 属性调用类的方法 对象名 方法名 AccpSchoolcenter newAccpSchool center schoolName 北京中心 给属性赋值center toString 调用类的方法 该方法中的操作将被执行 44 publicclassInitialAccpSchool publicstaticvoidmain String args AccpSchoolcenter newAccpSchool System out println center center schoolName 北京中心 center classNum 10 center labNum 10 System out println center 创建和使用对象示例 创建 北京中心 对象 演示示例2 创建和使用对象 说一说看到什么效果 调用类的toString 方法是特例 这里使用center toString 和center作用相同 更简便 45 综合案例 编写学生类 输出学生相关信息编写教员类 输出教员相关信息 46 面向对象 OO 的优点 便于程序模拟现实世界中的实体用 类 表示实体的特征和行为隐藏细节对象的行为和属性被封装在类中 外界通过调用类的方法来获得 不需关注内部细节如何实现可重用可以通过类的模板 创建多个类的对象 47 数据类型总结 intdoublechar String使用class定义的类型StudentTeacherAccpSchool 基本数据类型 引用数据类型 48 数据类型使用区别 49 统一建模语言UML UML简介UML UnifiedModelingLanguage 即统一建模语言 是OMG ObjectManagementGroup 发表的图标式软件设计语言 UML的功能 可视化 说明 建造 建文档UML包括 用例图 Usecasediagrams 类图 Classdiagrams 序列图 Sequencediagra

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论