动物特性的面向对象描述ppt课件_第1页
动物特性的面向对象描述ppt课件_第2页
动物特性的面向对象描述ppt课件_第3页
动物特性的面向对象描述ppt课件_第4页
动物特性的面向对象描述ppt课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、ACCP V4.0动物特性的面向对象描画 ACCP V4.0 问题描画q 动物特性描画q 狗生活在陆地上是一种陆生动物,既是哺乳类的也是肉食性的。狗通常的时候和人打招呼会经过“摇摇尾巴,在被抚摸感到温馨的时候,会“旺旺叫,而在遭到惊吓心情焦躁时,会发出“呜呜声;q 猫也生活在陆地上是一种陆生动物,既是哺乳类的也是肉食性的。猫通常的时候和人打招呼会发出“喵的声音,在被抚摸心情很好时,会发出“咕噜咕噜声,而在遭到惊吓时,会发出“嘶嘶声;q 青蛙是一种两栖动物既是水生动物也是陆生动物,既不是哺乳类的也不是肉食性的,属于卵生。当青蛙心情好的时候,会在岸边“呱呱呱的唱歌,而在遭到惊吓时,会“扑通一声跳入

2、水中; ACCP V4.0问题分析q首先需求抽取问题描画中对象q分析每个对象所具有的特征q分析每个对象所发出的动作q从这些对象的特征中,抽取类的属性和方法q分析类之间的关系,画出类构造图ACCP V4.0难点分析-1笼统类和对象的根本方法:抽取对象的根本的方法:找出句子中所运用的名词 例如:在句子“小猫喵喵叫中,我们可以确定一个对象:猫;确定对象发出的行为动作的根本的方法:找出句子中的动词 例如:“旺旺叫、“喵喵叫都属于对象发出的动作;确定对象的属性或者特征的根本的方法:找出句子中的描画词 例如:“哺乳性的“肉食性的“卵生的等等;“是的关系普通笼统为承继 例如:狗是一种动物,意味着:“狗类 承

3、继自“动物类;“有的关系普通笼统为类的属性 例如:动物都有心情,意味着:“心情是“动物类的一个属性;ACCP V4.0难点分析-2 Dog:int numberOfLegsDog( )sayHello( )sayHello(int newValue)getNumberOfLegs( )Cat:int numberOfLegsCat( )sayHello( )sayHello(int newValue)getNumberOfLegs( )Frog:int numberOfLegsFrog( )sayHello( )sayHello(int newValue)getNumberOfLegs( )h

4、asGills( )laysEggs( )WaterAnimal:hasGills( )laysEggs( )LandAnimal:getNumberOfLegs( )Animal:boolean mammalboolean carnivorousint moodisMammal( )isCarnivorous( )setMood(int newValue)getMood( )sayHello( )sayHello(int moodval)ACCP V4.0阶段划分q第一阶段60分钟:不思索心情影响动物打招q 呼的方式q第二阶段40分钟:思索心情影响动物打招呼q 的方式q第三阶段60分钟:思索

5、陆生动物和水生动物ACCP V4.0第一阶段q第一阶段60分钟:不思索心情影响动物打招呼的方式q编写Animal类,没有mood属性,只需一种SayHello方法;q编写Dog类、Cat类和Frog类,分别承继自Animal类,实现与Animal类不同的功能;q编写main方法,分别实例化以上三个类的三个对象,测试类方法实现的正确性;q要求学员本人动手编码,在编码的过程中解答学员提出的问题ACCP V4.0阶段检查q针对第一阶段抽查学员的编码结果q教员给出点评ACCP V4.0第一阶段规范代码演示q第一阶段编码的结果:abstract class Animal protected boolea

6、n mammal = true; protected boolean carnivorous = true; public boolean isMammal() return(mammal); public boolean isCarnivorous() return(carnivorous); abstract public String sayHello();abstractabstractprotectedprotectedclass Dog extends Animal public String sayHello() return(摇摇尾巴摇摇尾巴);class Cat extend

7、s Animal public String sayHello() return(喵喵叫喵喵叫);class Frog extends Animal public Frog() mammal = false; carnivorous = false; public String sayHello() return(呱呱呱呱呱呱); extendsextendsextendspublic String sayHello() return(摇摇尾巴);public String sayHello() return(喵喵叫);public String sayHello() return(呱呱呱);

8、 public Frog() mammal = false; carnivorous = false; public class HelloWorld public static void main(String args) Dog animal1 = new Dog(); Cat animal2 = new Cat(); Frog animal3 = new Frog(); if(animal1.isMammal() System.out.println(狗是哺乳动物狗是哺乳动物); else System.out.println(狗不是哺乳动物狗不是哺乳动物); if(animal1.is

9、Carnivorous() System.out.println(狗是肉食动物狗是肉食动物); else System.out.println(狗不是肉食动物狗不是肉食动物); System.out.println(狗通常的情况下,和人打招呼的方式为:狗通常的情况下,和人打招呼的方式为: +animal1.sayHello(); Dog animal1 = new Dog();Cat animal2 = new Cat();Frog animal3 = new Frog();animal1.isMammal()animal1.isCarnivorous()animal1.sayHello()A

10、CCP V4.0第二阶段q 第二阶段40分钟:思索心情影响动物打招q 呼的方式q扩展Animal类、Dog类、Cat类和Frog类,添加 Animal类的mood属性,并实现SayHello方法的多态性;q扩展main方法;q 要求学员本人动手编码,在编码的过程中解答q 学员提出的问题ACCP V4.0阶段检查q针对第二阶段抽查学员的编码结果q教员给出点评ACCP V4.0第二阶段规范代码演示q第二阶段的编码结果:abstract class Animal public static final int SCARED = 1;/心情不好,焦躁 public static final int C

11、OMFORTED = 2;/心情好 protected boolean mammal = false; protected boolean carnivorous = false; protected int mood = COMFORTED;/心情属性 public boolean isMammal() return(mammal); public boolean isCarnivorous() return(carnivorous); abstract public String sayHello(); abstract public String sayHello(int moodval

12、); public void setMood(int newValue) mood = newValue; public int getMood() return(mood); public static final int SCARED = 1;/心情好public static final int COMFORTED = 2;/心情不好,焦躁protected int mood = COMFORTED;/心情属性public void setMood(int newValue) mood = newValue; public int getMood() return(mood); abst

13、ract public String sayHello();abstract public String sayHello(int moodval);class Dog extends Animal public String sayHello() return(摇摇尾巴); public String sayHello(int moodval) this.setMood(moodval); switch (mood) case SCARED: return(呜呜叫); case COMFORTED: return(旺旺旺叫); return(摇摇尾巴); class Cat extends

14、Animal public String sayHello(int moodval) class Frog extends Animal public String sayHello(int moodval) public String sayHello(int moodval) this.setMood(moodval); switch (mood) case SCARED: return(呜呜叫); case COMFORTED: return(旺旺旺叫); return(摇摇尾巴); public class HelloWorld public static void main(Stri

15、ng args) Dog animal1 = new Dog(); Cat animal2 = new Cat(); Frog animal3 = new Frog(); System.out.println(狗通常的情况下,和人打招呼的方式为: +animal1.sayHello(); System.out.println(狗被抚摸心情好的时候,打招呼的方式是: +animal1.sayHello(AnimalFORTED); System.out.println(狗焦躁的时候,会: +animal1.sayHello(Animal.SCARED); System.out.println(狗

16、通常的情况下,和人打招呼的方式为: + animal1.sayHello();System.out.println(狗被抚摸心情好的时候,打招呼的方式是: + animal1.sayHello(AnimalFORTED);System.out.println(狗焦躁的时候,会: + animal1.sayHello(Animal.SCARED);ACCP V4.0第三阶段q第三阶段60分钟:思索陆生动物和水生动物q定义LandAnimal接口和WaterAnimal接口;q扩展Dog类、Cat类和Frog类,使其实现相应的接口;q扩展main方法;q要求学员本人动手编码,在编码的过程中解答学员

17、提出的问题ACCP V4.0阶段检查q 针对第二阶段抽查学员的编码结果q 抽查学员编写的完好代码,要求学员上台讲解,q 并演示运转结果q 教员给出点评ACCP V4.0第三阶段规范代码演示q 第三阶段的编码结果:interface LandAnimal /陆生动物接口 public int getNumberOfLegs(); /前往有多少只脚interface WaterAnimal /水生动物接口 public boolean getGillFlag(); /前往能否有腮 public boolean getLaysEggs(); /前往能否产卵interfaceinterfaceclas

18、s Dog extends Animal implements LandAnimal private int numberOfLegs = 4; public int getNumberOfLegs() return(numberOfLegs); / 实现 LandAnimal接口class Frog extends Animal implements LandAnimal, WaterAnimal private boolean gillFlag = true; private boolean laysEggs = true; private int numberOfLegs = 4; pr

19、ivate boolean tailFlag = true; / 实现 WaterAnimal接口 public boolean getGillFlag() return(gillFlag); public boolean getLaysEggs() return(laysEggs); / 实现 LandAnimal接口 public int getNumberOfLegs() return(numberOfLegs); implements LandAnimalimplements LandAnimal, WaterAnimalprivate boolean gillFlag = true;

20、private boolean laysEggs = true;private int numberOfLegs = 4;private boolean tailFlag = true;/ 实现 WaterAnimal接口public boolean getGillFlag() return(gillFlag); public boolean getLaysEggs() return(laysEggs); / 实现 LandAnimal接口 public int getNumberOfLegs() return(numberOfLegs); public class HelloWorld public static void main(String args) Dog animal1 = new Dog(); Cat animal2 = new Cat(); Frog animal3 = new Frog

温馨提示

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

评论

0/150

提交评论