多语言展示
当前在线:1792今日阅读:168今日分享:49

多态的应用题

应用继承和多态的思维,编写动物类,成员方法是动物叫声,写是三个具体的类(猫、狗、羊),它们都是动物的子类,并重写父类的成员方法,编写测试类,随机产生三种具体动物,调用叫声这个方法。
工具/原料
1

Java语言

2

eclipse

方法/步骤
1

根据要求可知需要定义aniamal、猫、狗、羊、测试这五个类。

2

猫狗羊这三个类的共同特征是都有叫声这个方法

3

animal类: package com.poly;//import org.omg.CORBA.PRIVATE_MEMBER;public class Animal { private String kind;//种类 //get、set方法 public String getKind() { return kind; } public void setKind(String kind) { this.kind = kind; } //构造方法 public Animal(String kind) { this.setKind(kind); } //描述方法 public void cry() { System.out.println('小狗的叫声为:汪汪汪~~~'); } public Animal() { // TODO Auto-generated constructor stub } }

5

dog类: package com.poly;public class Dog extends Animal{ //构造方法 public Dog(String kind) { super(kind); } //描述方法重写 public void cry() { System.out.println('小狗的叫声为:喵喵喵~~~'); } public Dog() { // TODO Auto-generated constructor stub }}

6

sheep类: package com.poly;public class Sheep extends Animal{ //构造方法 public Sheep(String kind) { super(kind); } //描述方法重写 public void cry() { System.out.println('小羊的叫声:咩咩咩~~~'); } public Sheep() { // TODO Auto-generated constructor stub }}

7

text类: package com.poly;public class Text { public Text() {  // TODO Auto-generated constructor stub } public static void main(String[] args) { //长度为5的父类对象数组 Animal[] arryAnimal=new Animal[5]; //通过循环依次向数组中存入数据 int i;    for (i = 0; i <5; i++) {    //随机生成0~2的正整数,即0,1,2 int b=(int) (Math.random()*3); //System.out.println('产生的随机数为:'+b); if(b==0) { arryAnimal[i]=new Cat(); } if(b==1) { arryAnimal[i]=new Dog(); } if (b==2) { arryAnimal[i]=new Sheep(); } } for(int j=0;j<=i;j++)    arryAnimal[j].cry(); }}

推荐信息