Просьба помочь с идеей по ООП
От: sobakam  
Дата: 29.09.12 12:35
Оценка:
Приветствую!
Есть задание по ООП, программа-поезд.
Определить иерархию вагонов и локомотивов. Создать несколько
объектов. Собрать поезд с определением его общей грузоподъемности или числа
пассажиров.
В принципе ничего сложного, но встает вопрос как лучше хранить объекты локомотивов и вагонов для поезда.
Сначала подумал сделать 2 массива:

public class Train {
private boolean prepared;
private String name;
private String type;
private List<AbstractWagon> wagons = new ArrayList<AbstractWagon>();
private List<AbstractLocomotion> locomotions = new ArrayList<AbstractLocomotion>();
...
Сейчас структура программы такова:
Есть абстрактный класс для локомотивов, от которого наследуются конкретные локомотивы,
грузовой и пассажирский.
Есть абстрактный класс вагонов, от которого наследуются 4 вида вагонов, крытый, платформа,
пассажирский, цистерна...

Потом появилась мысль объединить и вагоны и локомотивы для поезда под одним интерфейсом,
то есть абстрактные классы локомотива и вагона унаследовались еще и от VehiclesSet (единицы
подвижного состава)

public List<VehiclesSet> trainSet = new ArrayList<VehiclesSet>();

хотя в данном случае мы скрываем реализацию для конкретных объектов и придется довольствоваться
инструментами интерфейса (абстрактного класса), либо делать нисходящее преобразование...
Прошу помочь с идеей, каким образом лучше организовать класс поезда для хранения в нем локомотивов и вагонов,
приветствую критику!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.