meat,bone类继承food类,可以返回费用值。meat为30元,bone为15元
时间: 2023-05-24 12:01:31 浏览: 55
回答:好的,我理解您的问题。如果我正确理解的话,您是在问当 meat 和 bone 类继承 food 类时,如何返回它们对应的费用值。对于 meat 类,它的费用值是 30 元,而对于 bone 类,它的费用值是 15 元。因此,当 meat 和 bone 类继承 food 类时,它们可以通过调用父类的方法来返回它们对应的费用值。具体实现代码可能会有所不同,但一种可能的实现方式是通过在 food 类中定义一个 getCost 方法,并在 meat 和 bone 类中重写该方法,分别返回它们对应的费用值。
相关问题
ava设计一个meat类继承food类
以下是一个示例代码,展示了如何设计一个Meat类继承自Food类:
```java
public class Food {
private String name;
private int calories;
public Food(String name, int calories) {
this.name = name;
this.calories = calories;
}
public String getName() {
return name;
}
public int getCalories() {
return calories;
}
}
public class Meat extends Food {
private String animalType;
public Meat(String name, int calories, String animalType) {
super(name, calories);
this.animalType = animalType;
}
public String getAnimalType() {
return animalType;
}
}
```
在这个示例中,Food类有一个名称和卡路里属性。Meat类继承自Food类,并添加了一个动物类型属性。它还有一个构造函数,它调用了它的父类构造函数super(name, calories),并设置了动物类型属性。它还有一个getAnimalType()方法,用于检索动物类型属性的值。
1. 创建一个Java project,项目名为Pet。用以实现给宠物喂食物的功能。 2. 按照如下要求创建一组类: src |--com |--pet |--animal |--Dog.java |--food |--Food.java |--Meat.java |--Bone.java |--MainApp.java 3. Meat和Bone继承Food类,他们都覆写了Food类中needMoney()函数,用以返回费用值。Meat为30元;Bone为15元。 4. 在Dog类中实现一个方法:int eat(Food food, int money),money为原有的钱,给每次调用,根据食物价格进行扣款,返回剩余的钱。 5. 在MainApp类中创建一个main函数,用于给宠物喂食物。设计一周的菜谱(一天一种食物),以及总的费用200元。 打印输出每天宠物吃的食物,以及资金的结余。
好的,你的问题已经收到。根据你的要求,下面是实现Java project Pet的具体步骤:
1. 打开Eclipse或其他Java IDE,创建一个Java project,项目名为Pet。
2. 在src目录下,按照要求创建com.pet.animal和com.pet.food这两个包,并在animal和food包中分别创建Dog、Food、Meat和Bone这四个类。
3. 首先,定义Food类的代码如下:
```
package com.pet.food;
public class Food {
public int needMoney() {
return 0;
}
}
```
其中,needMoney()函数返回0。因为这是一个基类,具体的费用值需要在其派生类中定义。
接下来,定义Meat类和Bone类,它们继承自Food,并分别覆写了父类的needMoney()函数,代码如下:
```
package com.pet.food;
public class Meat extends Food {
@Override
public int needMoney() {
return 30;
}
}
package com.pet.food;
public class Bone extends Food {
@Override
public int needMoney() {
return 15;
}
}
```
可以看到,Meat的费用为30元,Bone的费用为15元。
4. 接下来,实现Dog类中的eat()方法。代码如下:
```
package com.pet.animal;
import com.pet.food.Food;
public class Dog {
private int money;
public Dog(int money){
this.money = money;
}
public int eat(Food food, int money){
int foodMoney = food.needMoney();
if(money >= foodMoney) {
money -= foodMoney;
System.out.println("Dog eats " + food.getClass().getSimpleName() + ". The remaining money is " + money + ".");
}else{
System.out.println("Not enough money!");
}
return money;
}
}
```
可以看到,eat()方法接受一个Food对象和一个原有的钱数,返回剩余的钱数。根据食物价格进行扣款,输出每次剩余的钱数,并返回最终的剩余钱数。如果钱数不够,则输出“Not enough money!”提示。
5. 最后,创建MainApp类,在其main()函数中设计一个菜单并且创建Dog对象。代码如下:
```
package com.pet;
import com.pet.animal.Dog;
import com.pet.food.Bone;
import com.pet.food.Food;
import com.pet.food.Meat;
public class MainApp {
public static void main(String[] args) {
Dog myDog = new Dog(200);
Food[] menu = new Food[] {new Meat(), new Bone(), new Meat(), new Bone(), new Meat(), new Bone(), new Meat()};
for(int i=0; i<menu.length; i++) {
Food foodToday = menu[i];
System.out.println("Today's food is " + foodToday.getClass().getSimpleName() + ".");
myDog.eat(foodToday, myDog.money);
}
}
}
```
可以看到,我们创建了一个Dog对象myDog,并设计了一个菜单menu,其中每天都吃一种食物。最后遍历菜单,并调用myDog的eat()方法喂食。
好了,以上就是实现Java project Pet的详细步骤。祝你成功!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)