用Java程序完成以下场景(用继承多态):有一个主人(Master类),他养了两只宠物(Pet类)

用Java程序完成以下场景(用继承多态):有一个主人(Master类),他养了两只宠物(Pet类),第1张

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) {

}

}

死机是指CPU的程序指针进入一个死循环,无法按照我们编入的逻辑执行正常的程序流程。

我们直接观察到的现象是正常功能丧失,按键无反应,显示进入定格状态。单片机死机后,只有复位才能走出死循环,执行正常的程序流程。玩单片机的都知道解决死机的最有效手段是加看门狗。

目前用得最广泛的看门狗实际上是一个特殊的定时器DogTimer。DogTimer按固定速率计时,计满预定时间就发出溢出脉冲使单片机复位。如果每次在DogTimer溢出前强行让DogTimer清零,就不会发出溢出脉冲。清零脉冲由CPU发出,在单片机程序中每隔一段语句放一个清DogTimer的语句--FeedDog语句,以保证程序正常运行时DogTimer不会溢出。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7933790.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存