Как создать подкласс, реализующий интерфейс для поиска ключа и значения на карте?
import java.util.HashMap; import java.util.Map; interface ISample { public void addUnit(String name, int id, String description); } class Unit{ // Public used for brevity String name; int id; String description; public Unit(){} public Unit(String name, int id, String description){ this.name = name; this.id = id; this.description = description; } } class Parent{ protected Map<Integer, Unit> units = new HashMap<Integer, Unit>(); public Unit lookupUnit(String name){ for(Unit u : this.units.values()){ if(u.name.equals(name)){ return u; } } return null; } } /** Create a new class named Child that implements ISample and is a sub-class of Parent. Parent defines a method that does a unit lookup by name. Provide a method in Child that does a unit lookup by id. */ class Main{ public static void main(String[] args){ Child c = new Child(); c.addUnit("Box", 123, "Used for storing small things"); c.addUnit("Envelope", 456, "Used for shipping small things"); c.addUnit("Crate", 789, "Used for shipping or storing large things"); Unit unit = c.lookupUnit("Crate"); System.out.println("Found unit: " + unit.name + " - " + unit.description); unit = c.lookupId(456); System.out.println("Found unit: " + unit.name + " - " + unit.description); } }
Что я уже пробовал:
Public class Child extends Parent inherits ISample { }
ZurdoDev
У вас есть конкретный вопрос? Где ты застрял?
Member 13612796
Да, создание метода!
phil.o
Это не вопрос. Вы объявили дочерний класс с правильным объявлением наследования и реализации интерфейса. Теперь вам нужно реализовать метод интерфейса addUnit и создать второй метод для поиска по идентификатору, как указано в требовании вашего домашнего задания.