當前位置:編程學習大全網 - 源碼下載 - 用Java程序完成以下場景(用繼承多態):有壹個主人(Master類),他養了兩只寵物(Pet類)

用Java程序完成以下場景(用繼承多態):有壹個主人(Master類),他養了兩只寵物(Pet類)

public?class?Run?{

public?static?void?main(String[]?args)?{

Master?master?=?new?Master();

master.feedDog("雞骨頭");

master.feedCat("雞骨頭");

}

}

class?Master?{

private?Pet?mPet;

private?Food?mFood;

public?void?feedCat(String?food)?{

mPet?=?new?Cat();

mFood?=?new?Food(food);

mPet.eat(mFood);

}

public?void?feedDog(String?food)?{

mPet?=?new?Dog();

mFood?=?new?Food(food);

mPet.eat(mFood);

}

}

class?Dog?extends?Pet{

@Override

public?void?eat(Food?food)?{

System.out.println("正在餵小狗吃"+food.getFood());

if?(food.getFood().matches(Food.BONE))?{

System.out.println("小狗正在吃"+food.getFood()+"!");

}else?{

System.out.println("但是小狗不喜歡吃"+food.getFood()+"!");

}

}

}

class?Cat?extends?Pet{

@Override

public?void?eat(Food?food)?{

System.out.println("正在餵小貓吃"+food.getFood());

if?(food.getFood().matches(Food.FISH))?{

System.out.println("小貓正在吃"+food.getFood()+"!");

}else?{

System.out.println("但是小貓不喜歡吃"+food.getFood()+"!");

}

}

}

class?Food?{

public?final?static?String?BONE?=?".*骨.*";

public?final?static?String?FISH?=?".*魚.*";

private?String?food;

public?String?getFood()?{

return?food;

}

public?void?setFood(String?food)?{

this.food?=?food;

}

public?Food(String?food)?{

this.food?=?food;

}

}

class?Pet?{

public?void?eat(Food?food)?{

}

}

  • 上一篇:obv是比率指標嗎?
  • 下一篇:Defi項目國家禁止嗎
  • copyright 2024編程學習大全網