ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
999077 Топик полностью
framer (26.04.2020 13:50, просмотров: 487) ответил Argon на Возможно, в этой задачке - самая мякотка ООП: Это задачка на курсах по Java. Вроде умом понимаю что и как работает, а сэрдцем принять не могу :)
В данном случае ничего не делают , но могут. Но что-то в коде не того. Идентификация инстанции в фильтре по типу ad.getVehicleTypeByPurpose().equals(vehicleType) и надо городить огород с передачей параметра при фильтрации пустого класса данного типа. И есть еще и enum VehicleAllTypes по которому можно и определить тип но надо привязать класс к enum. 

Поэтому Java отстой. Все гораздо проще делается na Scala. Типа:

class VehicleTypeByPurpose(name : String) {}
case class PassengerType(name : String) extends VehicleTypeByPurpose(name) {}
case class CarType(name : String) extends VehicleTypeByPurpose(name){}

val l = List(PassengerType("Pas1"),CarType("Car1"), PassengerType("Pas2"))
l.filter( i => i.isInstanceOf[PassengerType])