我试图使用继承将2种不同的动物添加到文本文件中,即猫和狗。问题是,它们有不同的构造函数,我不知道如何将它们分别放入同一文本文件中,因为程序也使用了用户界面。
答案 0 :(得分:0)
我不确定如果我理解你的问题。
您有一个文本文件,其中写有狗和猫的信息。你想将它们传递给你的程序。
该文本文件是否在您的控制范围内?当你开始从中读取它时,你能理解它在开始时是猫还是狗?喜欢
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);
}
为猫编写相同的方法,然后你去。由于狗类是从动物类继承的,因此狗也是动物。因此,您可以将其作为动物添加到动物列表中。希望这有帮助。