package cn.itcast.demo;
interface LandAnimal
{
public int getNumberOfLegs();//返回有多少只脚
}
interface WaterAnimal
{
public boolean getGillfLag();//返回是否有腮
public boolean getLaysEggs();//返回是否产卵
}
abstract class Animal
{
public static final int SCRAED = 1;//情绪好
public static final int COMFORTED = 2;//情绪不好,烦躁
protected boolean manmmal = true; //是否为哺乳动物
protected boolean carnivorous = true; //是否为食肉动物
protected int mood = COMFORTED;
//判断是不是哺乳动物
public boolean isManmmal()
{
return (manmmal);
}
//判断是不是食肉动物
public boolean isCarnivorous()
{
return (carnivorous);
}
abstract public String SayHello() ;
abstract public String SayHello(int moodval);
public void setMood(int newValue)
{
mood = newValue;
}
public int getMood()
{
return mood;
}
}
class Dog extends Animal implements LandAnimal
{
private int numberOfLegs =4;
public Dog()
{
manmmal = true; //是哺乳动物
carnivorous = true; //是肉食动物
}
@Override
public int getNumberOfLegs() {
// TODO Auto-generated method stub
return numberOfLegs;
}
@Override
public String SayHello() {
// TODO Auto-generated method stub
return("摇摇尾巴");
}
@Override
public String SayHello(int moodval) {
// TODO Auto-generated method stub
this.setMood(moodval);
switch(mood)
{
case SCRAED:
return("呜呜叫");
case COMFORTED:
return("汪汪汪叫");
}
return("摇摇尾巴");
}
}
class Cat extends Animal implements LandAnimal
{
private int numberOfLegs = 4;
private boolean tailFlag = true;
public Cat()
{
manmmal = true; //是哺乳动物
carnivorous = true; //是肉食动物
}
@Override
public int getNumberOfLegs() {
// TODO Auto-generated method stub
return numberOfLegs;
}
@Override
public String SayHello() {
// TODO Auto-generated method stub
return("喵喵喵叫");
}
@Override
public String SayHello(int moodval) {
// TODO Auto-generated method stub
this.setMood(moodval);
switch(mood)
{
case SCRAED:
return("嘶嘶叫");
case COMFORTED:
return("咕噜咕噜叫");
}
return("喵喵喵叫");
}
}
class Frog extends Animal implements LandAnimal,WaterAnimal
{
private boolean gillFlag = true;
private boolean laysEggs = true;
private int numberOfLegs = 4;
private boolean taiFlag = true;
public Frog()
{
manmmal = false;
carnivorous = false;
}
@Override
public boolean getGillfLag() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean getLaysEggs() {
// TODO Auto-generated method stub
return laysEggs;
}
@Override
public int getNumberOfLegs() {
// TODO Auto-generated method stub
return numberOfLegs;
}
public String SayHello() {
// TODO Auto-generated method stub
return("呱呱叫");
}
@Override
public String SayHello(int moodval) {
// TODO Auto-generated method stub
this.setMood(moodval);
switch(mood)
{
case SCRAED:
return("扑通一声跳入水中");
case COMFORTED:
return("呱呱呱");
}
return("呱呱呱");
}
}
public class AnimalTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog animal1 =new Dog();
Cat animal2 = new Cat();
Frog animal3 = new Frog();
if(animal1.isManmmal())
System.out.println("狗是哺乳动物");
else
System.out.println("狗不是哺乳动物");
if(animal1.isCarnivorous())
System.out.println("狗是肉食动物");
else
System.out.println("狗不是肉食动物");
System.out.println("狗通常情况下,和人打招呼的方式为:"+animal1.SayHello());
System.out.println("狗被安抚的情况下:"+animal1.SayHello(Animal.COMFORTED));
System.out.println("狗烦躁的情况下:"+animal1.SayHello(Animal.SCRAED));
System.out.println("狗腿::"+animal1.getNumberOfLegs());
if(animal2.isManmmal())
System.out.println("猫是哺乳动物");
else
System.out.println("猫不是哺乳动物");
if(animal2.isCarnivorous())
System.out.println("猫是肉食动物");
else
System.out.println("猫不是肉食动物");
System.out.println("猫通常情况下,和人打招呼的方式为:"+animal2.SayHello());
System.out.println("猫被安抚的情况下:"+animal2.SayHello(Animal.COMFORTED));
System.out.println("猫烦躁的情况下:"+animal2.SayHello(Animal.SCRAED));
System.out.println("猫腿::"+animal2.getNumberOfLegs());
if(animal3.isManmmal())
System.out.println("青蛙是哺乳动物");
else
System.out.println("青蛙不是哺乳动物");
if(animal3.isCarnivorous())
System.out.println("青蛙是肉食动物");
else
System.out.println("青蛙不是肉食动物");
System.out.println("青蛙通常情况下,和人打招呼的方式为:"+animal3.SayHello());
System.out.println("青蛙被安抚的情况下:"+animal3.SayHello(Animal.COMFORTED));
System.out.println("青蛙烦躁的情况下:"+animal3.SayHello(Animal.SCRAED));
if(animal3.getLaysEggs())
System.out.println("青蛙产卵");
else
System.out.println("青蛙不产卵");
if(animal3.getGillfLag())
System.out.println("青蛙有腮");
else
System.out.println("青蛙没腮");
System.out.println("青蛙腿::"+animal3.getNumberOfLegs());
}
}
动物抽象问题
最新推荐文章于 2021-10-06 22:44:30 发布