У меня есть класс, Лодка. Лодка - это абстрактный класс, который содержит переменные, которые рассчитывают мощность, длину, ширину, серийный номер, количество мест и тип. Я должен читать из входного файла из другого класса под названием Dock. Док объединяется с объектами ArrayList of Boat. У меня также есть конкретный класс под названием ManPowered, который расширяет свойства Boat. Однако, когда я читаю входные значения из файла, значения не сохраняются в свойствах в Boat, хотя я использую установщики этих свойств через подкласс Boat, который является ManPowered. Как мне сохранить значения из входного файла в эти свойства в этом абстрактном классе.
Я попытался пройти через считываемые значения с помощью конкретного класса-установщика ManPowered, который унаследован от Boat. Ниже показано, что я сейчас пробовал. Я использовал прочитанные значения и передал их конкретному классу. Однако значения не отображаются при печати метода toString. Эти сеттеры изначально находятся в абстрактном классе Boat, но наследуются ManPowered.
public class Dock {
private String dockName;
ArrayList<Boat> boat;
public Dock() {
dockName = " ";
boatarr = new ArrayList<>();
public void readBoatData(String fileName) {
try {
Dock dock = new Dock();
ManPowered man = new ManPowered();
Scanner scan = new Scanner(new File(fileName));
setDockName(scan.nextLine().trim());
while(scan.hasNext()) {
String arr [] = scan.nextLine().split(",");
man.setPower(arr[0]);
String powertype = arr[0];
if(powertype.charAt(0) == 'B') {
man.setLength(Double.parseDouble(arr[1]));
man.setBreadth(Double.parseDouble(arr[2]));
man.setSerial(arr[3]);
man.setSeats(Integer.parseInt(arr[4]));
man.setType(arr[5]);
man.setTypeOfPaddle(arr[6]);
boatarr.add(man);
}
Я бы хотел, чтобы эти значения были сохранены в исходных свойствах, созданных в классе Boat.