Можно ли получить [или извлечь из] карту в классе B?
Да, это так. И есть множество способов сделать это. Например: (! Почти наверняка плохая идея)
- Вы можете сделать карту переменной
public
- Вы могли бы реализовать
public
поглотитель, который возвращает карту (вероятно, не очень хорошая идея ...)
- Вы можете реализовать получателя
public
, который вернул оболочку только для чтения для (частной) Карты.
- Вы можете реализовать метод
public
, который ищет запись на (частной) карте.
Но это не обязательно хорошая вещь, чтобы сделать это. Одним из принципов объектно-ориентированного программирования является то, что класс должен инкапсулировать его состояние. Если ваш класс B может получить доступ к карте, которая является (для аргумента) внутренней для вашего класса A, тогда инкапсуляция ослабляется или прерывается в процессе. (Теперь, возможно, было бы целесообразно иметь свободную инкапсуляцию ... но вам нужно понять проблемы и подумать о последствиях для ваших конкретных обстоятельств.)
Я говорю, что вам, скорее всего, нужно найти/прочитайте учебное пособие (или учебник) по программированию OO, чтобы помочь вам понять, правильно ли вы делаете то, что вы пытаетесь сделать.
Прочтите учебник по классам и объектам. Тот факт, что это «Карта», не имеет значения. –
Да. Пожалуйста, будьте более конкретными, и мы можем дать вам более конкретный ответ. Если вы работаете через текст или учебник, и ваш вопрос заключается в том, чтобы помочь понять вопросы, которые он поднял, просьба указать ссылку на то, что вы читаете. Если вы не работаете с текстом или учебным пособием, подумайте об этом. –
Прошу прощения. Я создал класс A и карту, которая состоит из коллекций. Карта> map = new HashMap >(); map.put («Детали», Имена); Теперь я хочу получить доступ к созданной карте в классе B, чтобы получить значения из класса A. Моим требованием является не получение карты в классе A. Могу ли я получить карту с ключом «Детали» в классе B? –
user2988935