Как сохранить входные значения, прочитанные из файла, в методы установки в абстрактном классе? - PullRequest
0 голосов
/ 31 октября 2019

У меня есть класс, Лодка. Лодка - это абстрактный класс, который содержит переменные, которые рассчитывают мощность, длину, ширину, серийный номер, количество мест и тип. Я должен читать из входного файла из другого класса под названием 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.

...