狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。 狗通常的时候和人打招呼会通过“摇摇尾巴”,在被抚摸情绪很好的时候, 会“旺旺叫”,而在受到惊吓情绪烦躁时,会发出“呜呜”声;

/*
根据以下这段话的描述,用面向对象的思想实现

狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。
狗通常的时候和人打招呼会通过“摇摇尾巴”,在被抚摸情绪很好的时候,
会“旺旺叫”,而在受到惊吓情绪烦躁时,会发出“呜呜”声;

猫也生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。
猫通常的时候和人打招呼会发出“喵~”的声音,在被抚摸情绪很好时,
会发出“咕噜咕噜”声,而在受到惊吓时,会发出“嘶嘶”声;

青蛙是一种两栖动物(既是水生动物也是陆生动物),既不是哺乳类的也不是肉食性的,
属于卵生。青蛙通常的时候和人打招呼会通过“呱呱叫”,当青蛙情绪好的时候,
会在岸边“呱呱呱”的唱歌,而在受到惊吓时,会“扑通一声跳入水中”
*/
abstract class Animal //不能生成对象了 含有共性的东西是抽象类
{
public static final int HAPPY=1;
public static final int UNHAPPY=2;
protected boolean mammal; //没有set get子类也可以访问
protected boolean carnivorous;//肉食
private int mood; //1 2

public boolean isMammal()
{
   return mammal;
}
public boolean isCarnivorous(){
   return carnivorous;
}

public void setMood(int mood){
   this.mood=mood;
}

public int getMood()
{
   return mood;
}


public abstract String sayHello();//打招呼

public abstract String sayHello(int mood);//受情绪影响的打招呼方式

}

//陆生
interface land
{
public abstract int getNumberOfLegs();
}
//水生
interface warter
{
public boolean getGillFlags();
public boolean getLayEggsFlag();
}

class Dog extends Animal implements land
{
private int numberOfLegs=4;

Dog(){
   this.mammal=true;
   this.carnivorous=true;
}

 public  String sayHello(){
	 return "摇摇尾巴";
 }

 public  String sayHello(int mood){
       setMood(mood);
	   switch(getMood()){
	     case HAPPY:
              return "旺旺叫";//;不用加break因为return返回到调用位置了
		 case UNHAPPY:
              return "呜呜";

		 default:
              return "摇摇尾巴";
	   }
 }

 public  int getNumberOfLegs(){
      return numberOfLegs;
 }

}
class Demo11
{
public static void main(String[] args)
{
Dog gou = new Dog();

	if(gou.isMammal())
		System.out.println("狗是哺乳动物");
	else
		System.out.println("狗不是哺乳动物");

    if(gou.isCarnivorous())
		System.out.println("狗是肉食动物");
	else
		System.out.println("狗不是肉食动物");

     System.out.println("狗通常打招呼的方式:"+gou.sayHello());

	 System.out.println("狗情绪好的时候打招呼的方式:"+gou.sayHello(Animal.HAPPY));
	 System.out.println("狗收到惊吓时候打招呼的方式:"+gou.sayHello(Animal.UNHAPPY));

	 System.out.println("狗有"+gou.getNumberOfLegs()+"条腿");

}

}

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值