提问人:pickleriick137 提问时间:7/26/2022 最后编辑:pickleriick137 更新时间:7/27/2022 访问量:72
方法 Eat() 接收字符串“food”,然后将其与“favFood”进行比较?
Method Eat() receiving a string"food" and then compares it to "favFood"?
问:
编辑:已解决
我最近开始学习编程(c#),目前正在研究继承和多态性。
我已经完成了大部分编码,但现在我卡住了。
这是我得到的描述,我被困住了:方法 Eat() 接收一个字符串(food) 并将其与动物最喜欢的食物“favFood”进行比较。
我有一份所有动物的清单,包括每只动物最喜欢的食物,但我不知道如何制作一根绳子(食物)并将其与清单进行比较。我想要字符串在哪里?
(代码很长,但我认为其余的无关紧要。 谢谢!
编辑:如果食物是像现在的动物一样“favFood”,他们吃它,(饿了==假)。 如果它不是“favFood”,他们就不会吃它,并且(饿了==真) 一旦我弄清楚如何以正确的格式发布它xd(我是新的)
abstract class Animal
{
protected int age { get; set; }
protected string name { get; set; }
protected string favFood { get; set; }
protected string breed { get; set; }
protected bool hungry { get; set; }
public Animal(string name, int age, string favFood, string breed)
{
this.name = name;
this.age = age;
this.favFood = favFood;
this.breed = breed;
}
public virtual void Interact()
{
}
public virtual void HungryAnimal()
{
}
public virtual void Eat(string food)
{
// offer animal food from string, if "favFood" they eat and (hungry == false)
// if not "favFood" HungryAnimal() (hungry == true)
}
public override string ToString()
{
return base.ToString(); // Not sure this is correct
}
}
class Petowner
{
private int Age;
private List<Animal> pets = new List<Animal>();
public Petowner(int age)
{
Age = age;
pets.Add(new Cat(name:"Ellie", age: 3, favFood:"Fisk", breed:"Bondkatt"));
pets.Add(new Cat(name:"Meelo", age:11, favFood:"Ost", breed:"Norsk skogskatt"));
pets.Add(new Dog(name:"Sassa", age:6, favFood:"Korv", breed:"Husky"));
pets.Add(new Puppy(name:"Majken", age:0, favFood:"Köttfärs", breed:"Pitbull"));
}
public void Feed() // Sub-menu
{
int x = 0;
Console.Clear();
Console.WriteLine("Vilket djur vill du mata?\n---------------------");
PrintAnimals();
try
{
x = int.Parse(Console.ReadLine());
}
catch (Exception)
{
Console.Clear();
Console.WriteLine("Nu vart det fel, prova igen! (Välj med siffror)\n---------------------\nTryck på valfri tangent för att gå tillbaka...");
Console.ReadKey();
}
switch (x)
{
case 1:
pets[0].Eat();
break;
case 2:
pets[1].Eat();
break;
case 3:
pets[2].Eat();
break;
case 4:
pets[3].Eat();
break;
}
}
答: 暂无答案
评论
Animal
Eat
Interact
HungryAnimal