




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动物特性的面向对象描述 2 问题描述 动物特性描述狗生活在陆地上 是一种陆生动物 既是哺乳类的也是肉食性的 狗通常的时候和人打招呼会通过 摇摇尾巴 在被抚摸感到舒服的时候 会 旺旺叫 而在受到惊吓情绪烦躁时 会发出 呜呜 声 猫也生活在陆地上 是一种陆生动物 既是哺乳类的也是肉食性的 猫通常的时候和人打招呼会发出 喵 的声音 在被抚摸情绪很好时 会发出 咕噜咕噜 声 而在受到惊吓时 会发出 嘶嘶 声 青蛙是一种两栖动物 既是水生动物也是陆生动物 既不是哺乳类的也不是肉食性的 属于卵生 当青蛙情绪好的时候 会在岸边 呱呱呱 的唱歌 而在受到惊吓时 会 扑通一声跳入水中 3 问题分析 首先需要抽取问题描述中对象分析每个对象所具有的特征分析每个对象所发出的动作从这些对象的特征中 抽取类的属性和方法分析类之间的关系 画出类结构图 4 难点分析 1 抽象类和对象的基本方法 抽取对象的基本的方法 找出句子中所使用的名词例如 在句子 小猫喵喵叫 中 我们能够确定一个对象 猫 确定对象发出的行为动作的基本的方法 找出句子中的动词例如 旺旺叫 喵喵叫 都属于对象发出的动作 确定对象的属性或者特征的基本的方法 找出句子中的形容词例如 哺乳性的 肉食性的 卵生的 等等 是 的关系一般抽象为继承例如 狗是一种动物 意味着 狗 类继承自 动物 类 有 的关系一般抽象为类的属性例如 动物都有情绪 意味着 情绪 是 动物 类的一个属性 5 难点分析 2 Dog intnumberOfLegsDog sayHello sayHello intnewValue getNumberOfLegs Cat intnumberOfLegsCat sayHello sayHello intnewValue getNumberOfLegs Frog intnumberOfLegsFrog sayHello sayHello intnewValue getNumberOfLegs hasGills laysEggs WaterAnimal hasGills laysEggs LandAnimal getNumberOfLegs Animal booleanmammalbooleancarnivorousintmoodisMammal isCarnivorous setMood intnewValue getMood sayHello sayHello intmoodval 6 阶段划分 第一阶段 60分钟 不考虑情绪影响动物打招呼的方式第二阶段 40分钟 考虑情绪影响动物打招呼的方式第三阶段 60分钟 考虑陆生动物和水生动物 7 第一阶段 第一阶段 60分钟 不考虑情绪影响动物打招呼的方式编写Animal类 没有mood属性 只有一种SayHello方法 编写Dog类 Cat类和Frog类 分别继承自Animal类 实现与Animal类不同的功能 编写main方法 分别实例化以上三个类的三个对象 测试类方法实现的正确性 要求学员自己动手编码 在编码的过程中解答学员提出的问题 8 阶段检查 针对第一阶段抽查学员的编码结果教员给出点评 9 第一阶段标准代码演示 第一阶段编码的结果 abstractclassAnimal protectedbooleanmammal true protectedbooleancarnivorous true publicbooleanisMammal return mammal publicbooleanisCarnivorous return carnivorous abstractpublicStringsayHello abstract abstract protected protected classDogextendsAnimal publicStringsayHello return 摇摇尾巴 classCatextendsAnimal publicStringsayHello return 喵喵叫 classFrogextendsAnimal publicFrog mammal false carnivorous false publicStringsayHello return 呱呱呱 extends extends extends publicStringsayHello return 摇摇尾巴 publicStringsayHello return 喵喵叫 publicStringsayHello return 呱呱呱 publicFrog mammal false carnivorous false publicclassHelloWorld publicstaticvoidmain String args Doganimal1 newDog Catanimal2 newCat Froganimal3 newFrog if animal1 isMammal System out println 狗是哺乳动物 elseSystem out println 狗不是哺乳动物 if animal1 isCarnivorous System out println 狗是肉食动物 elseSystem out println 狗不是肉食动物 System out println 狗通常的情况下 和人打招呼的方式为 animal1 sayHello Doganimal1 newDog Catanimal2 newCat Froganimal3 newFrog animal1 isMammal animal1 isCarnivorous animal1 sayHello 10 第二阶段 第二阶段 40分钟 考虑情绪影响动物打招呼的方式扩充Animal类 Dog类 Cat类和Frog类 增加Animal类的mood属性 并实现SayHello方法的多态性 扩充main方法 要求学员自己动手编码 在编码的过程中解答学员提出的问题 11 阶段检查 针对第二阶段抽查学员的编码结果教员给出点评 12 第二阶段标准代码演示 第二阶段的编码结果 abstractclassAnimal publicstaticfinalintSCARED 1 情绪不好 烦躁publicstaticfinalintCOMFORTED 2 情绪好protectedbooleanmammal false protectedbooleancarnivorous false protectedintmood COMFORTED 情绪属性publicbooleanisMammal return mammal publicbooleanisCarnivorous return carnivorous abstractpublicStringsayHello abstractpublicStringsayHello intmoodval publicvoidsetMood intnewValue mood newValue publicintgetMood return mood publicstaticfinalintSCARED 1 情绪好publicstaticfinalintCOMFORTED 2 情绪不好 烦躁 protectedintmood COMFORTED 情绪属性 publicvoidsetMood intnewValue mood newValue publicintgetMood return mood abstractpublicStringsayHello abstractpublicStringsayHello intmoodval classDogextendsAnimal publicStringsayHello return 摇摇尾巴 publicStringsayHello intmoodval this setMood moodval switch mood caseSCARED return 呜呜叫 caseCOMFORTED return 旺旺旺叫 return 摇摇尾巴 classCatextendsAnimal publicStringsayHello intmoodval classFrogextendsAnimal publicStringsayHello intmoodval publicStringsayHello intmoodval this setMood moodval switch mood caseSCARED return 呜呜叫 caseCOMFORTED return 旺旺旺叫 return 摇摇尾巴 publicclassHelloWorld publicstaticvoidmain String args Doganimal1 newDog Catanimal2 newCat Froganimal3 newFrog System out println 狗通常的情况下 和人打招呼的方式为 animal1 sayHello System out println 狗被抚摸情绪好的时候 打招呼的方式是 animal1 sayHello Animal COMFORTED System out println 狗烦躁的时候 会 animal1 sayHello Animal SCARED System out println 狗通常的情况下 和人打招呼的方式为 animal1 sayHello System out println 狗被抚摸情绪好的时候 打招呼的方式是 animal1 sayHello Animal COMFORTED System out println 狗烦躁的时候 会 animal1 sayHello Animal SCARED 13 第三阶段 第三阶段 60分钟 考虑陆生动物和水生动物定义LandAnimal接口和WaterAnimal接口 扩充Dog类 Cat类和Frog类 使其实现相应的接口 扩充main方法 要求学员自己动手编码 在编码的过程中解答学员提出的问题 14 阶段检查 针对第二阶段抽查学员的编码结果抽查学员编写的完整代码 要求学员上台讲解 并演示运行结果教员给出点评 15 第三阶段标准代码演示 第三阶段的编码结果 interfaceLandAnimal 陆生动物接口 publicintgetNumberOfLegs 返回有多少只脚 interfaceWaterAnimal 水生动物接口 publicbooleangetGillFlag 返回是否有腮publicbooleangetLaysEggs 返回是否产卵 interface interface classDogextendsAnimalimplementsLandAnimal privateintnumberOfLegs 4 publicintgetNumberOfLegs return numberOfLegs 实现LandAnimal接口 classFrogextendsAnimalimplementsLandAnimal WaterAnimal privatebooleangillFlag true privatebooleanlaysEggs true privateintnumberOfLegs 4 privatebooleantailFlag true 实现WaterAnimal接口publicbooleangetGillFlag return gillFlag publicbooleangetLaysEggs return laysEggs 实现LandAnimal接口publicintgetNumberOfLegs return numberOfLegs implementsLandAnimal implementsLandAnimal WaterAnimal privatebooleangillFlag true privatebooleanlaysEggs true privateintnumberOfLegs 4 privatebooleantailFlag true 实现WaterAnimal接口publicbooleangetGillFlag return gillFlag publicbooleangetLaysEggs return laysEggs 实现LandAnimal接口publicintgetNumberOfLegs return numberOfLegs publicclassHelloWorld publicstaticvoidmain String args Doganimal1 newDog Catanimal2 newCat Froganimal3 newFrog System out println 狗有 animal1 getNumberOfLegs 条腿 System out println 猫有 animal2 getNumberOfLegs 条腿 if animal3 getLaysEggs System out println 青蛙产卵 elseSystem out println 青蛙不产卵 if animal3 getGillFlag System out println 青蛙有鳃 System out println 青蛙有 animal3 getNumberOfLegs 条腿 animal1 getNumberOfLegs anim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 情景相谐成美境课件
- 2025年高一【数学(人教A版)】基本不等式(2)-教学设计
- 河南省开封市兰考县等五县联考2026届高二化学第一学期期中考试模拟试题含解析
- 甘肃省武威市第一中 2026届化学高二第一学期期末复习检测试题含答案
- 医学科室考试试题及答案
- 经典员工培训方案
- 江西教师面试题及答案
- 计量试题库及答案
- 大肉钓鱼测试题及答案
- 小孩畏缩怎么改?自信力训练课
- 学堂在线 庄子哲学导读 章节测试答案
- 2025年总工会招聘考试工会知识模拟试卷及答案
- 2025年桥式起重机理论考试试题及答案
- 23G409先张法预应力混凝土管桩
- 译林版初中九年级英语上下册全册单词默写表
- GB/T 25074-2010太阳能级多晶硅
- GB/T 21196.2-2007纺织品马丁代尔法织物耐磨性的测定第2部分:试样破损的测定
- 高原病的防治问题西京医院
- 三年级下册口算天天100题(A4打印版)
- 上海交通大学学生生存手册
- 船舶高级消防(新版PPT)
评论
0/150
提交评论