Я реализую базовую программу расчета заработной платы в Java. У меня есть абстрактный класс супер, который называется Employee
, который в основном хранит данные, такие как идентификатор налога, имя и т. Д. Затем у меня есть 2 подкласса Employee
под названием Hourly
и Salaried
, которые должны представлять типы сотрудников. Эти два класса выполняют расчеты оплаты и налога и хранят данные, относящиеся к их типам сотрудников.Java - попытка понять состав
Беда в том, что я получаю кучу полей, так как новые поля должны быть реализованы для хранения рассчитанной заработной платы, налога и т. Д. Я был бы оправдан в избавлении от Salaried
и Hourly
и создании нового супер класс, PayCalculation
, затем имея PayHourly
и PaySalaried
классы, отменяющие это для реализации часовых/оплачиваемых конкретных полей и расчетов? Если да, то имеет ли смысл иметь соотношение композиций между Employee
(суперкласс) и PayCalculation
(подкласс)?
У меня нет большого понимания композиции. Если бы кто-нибудь мог подумать о лучшем способе структурирования этого, я бы это очень признал.
Я не знаю, как использовать UML, но вот красивая дрянная диаграмма, которую я сделал в краске, чтобы объяснить это.
Эта ссылка будет полезна для Вас. ** http: //stackoverflow.com/q/2399544/1115584** – AmitG
Спасибо. Мне кажется, что я необоснован в использовании композиции (я не уверен, что это отношения есть). Тем не менее, я не уверен, как структурировать его по-другому. Должен ли я вернуться к предыдущей структуре? –