我正在尝试使用继承将2种不同的动物添加到文本文件中(猫和狗)。问题是,它们具有不同的构造函数,并且我不确定如何将它们分别放入程序到同一文本文件中,因为该程序还使用用户界面。
我不确定是否理解您的问题。
您有一个写入狗和猫信息的文本文件。您想将它们传递到您的程序中。该文本文件在您的控制范围内吗?当您开始阅读它时,您能理解它在一开始是猫还是狗?像animal type: cat
animal name: fluffy
...如果这样:
int numAnimals = infile.nextInt();
infile.nextLine();
kennel.setName(kennelName);
for (int i = 0; i < numAnimals; i++) {
if(infile.nextLine().equals("cat")) {
Cat cat = readCat(infile);
kennel.addAnimals(cat);
}
else if(infile.nextLine().equals("dog")){
Dog dog = readDog(infile);
kennel.addAnimals(dog);
}
}
public Dog readDog(Scanner infile) {
//same as your dog reading part except the last part
return new Dog(animalName, owners, likesBones, favFood,
feedsPerDay);
}
为猫写同样的方法,然后就可以了。由于Dog类是从动物类继承的,因此dog也是动物。因此,您可以将它作为动物添加到您的动物列表中。希望对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句