У меня есть класс под названием Огнемет, который, естественно, имеет свои собственные боеприпасы, отличные от других видов оружия. Должны ли эти боеприпасы быть вложенным классом среди огнеметов, поскольку только огнемет когда-либо будет использовать этот класс?Java-правильное использование вложенного класса?
ответ
Я собираюсь удалить мой комментарий и сделать этот ответ:
Если это боеприпасы быть вложенным классом в огнемет
Я не думаю, причина в том, что боеприпасы также будут взаимодействовать с мишенью, и поэтому ее воздействие будет ощущаться сверх того, что у него есть. Обычно я резервирую внутренние классы для «вспомогательных» классов, которые используются только внутри внешнего класса.
У вас, вероятно, не должно быть класса вообще. Как правило, вы хотите, чтобы такие вещи были доступны для написания сценариев, для облегчения разработки и модификации. Вы должны заменить его общим классом боеприпасов, который считывает значения из файла данных, чтобы настроить поведение, если у вас нет по-настоящему уважительной причины. В общем, распространенной ошибкой среди начинающих Java является создание классов для всего, нужно ли им это или нет.
- 1. Использование вложенного класса в конструкторе класса head
- 2. C++ - Использование элементов класса из вложенного класса?
- 3. Использование вложенного класса параметра шаблона в CRTP
- 4. Использование вложенного класса, как Unity3D компонент
- 5. Использование статического вложенного класса как Spring bean
- 6. Использование C# вложенного класса и accessiblity
- 7. Недопустимое использование неполного типа (вложенного класса)
- 8. Общее использование класса, вложенного в общий
- 9. экземпляра вложенного шаблона класса
- 10. Расширение метода вложенного класса
- 11. Scala вложенного параметризованного класса
- 12. Владелец объекта вложенного класса
- 13. Структурирование вложенного класса (C#)
- 14. Неполного Типа вложенного класса
- 15. Случай статического вложенного класса
- 16. Проверьте атрибут вложенного класса
- 17. Swift: инициализация вложенного класса
- 18. Typedef вложенного класса
- 19. Возвращение объекта вложенного класса
- 20. Вывести методы вложенного класса
- 21. InstanceOf оператор вложенного класса
- 22. Использование вложенного NSMutableDictionary
- 23. Использование статического вложенного класса в качестве родового параметра
- 24. Как создать объект Java для вложенного JSON Использование Pojo класса
- 25. Использование ключевого слова «this» внутри вложенного статического класса java
- 26. Использование вложенного класса для передачи нескольких аргументов в backgroundworker
- 27. Использование частного статического вложенного класса для реализации Singleton
- 28. Доступ к переменной класса внутри вложенного класса
- 29. Получить имя окружающего класса изнутри вложенного класса
- 30. Смешивание внутреннего класса и статического вложенного класса
Лично я не уверен, что вложенные классы всегда были хорошей идеей. Анонимные классы для обработчиков событий - обязательно. Несколько классов в одном модуле: да. Вложенные классы: я бы использовал наследование или состав, прежде чем использовать гнездование. IMHO ... – paulsm4
@ paulsm4 - На самом деле решение использовать вложенные классы не зависит от использования наследования или композиции и т. Д. –