Я разрабатываю приложение в JAVA SE с базой данных в SQL Server.
В этом приложении у меня будет три вида изображений:
- Символы первой помощи
- Символы опасности
- Символы EPI
Все изображения имеют следующие атрибуты:
imageID - int
imageDescription - String
image - ImageIcon
Таким образом, изображения Fist Aid и EPI нуждаются в этом атрибуте:
isUsedInRiskAssessment - boolean
Мой вопрос: каков наилучший подход для реализации этой структуры?
Наследование: (изображение в ссылке)
http://img194.imageshack.us/img194/6871/inheritance.png
Я знаю, что наследование часто называют «злым», но в этом случае оно кажется допустимым, за исключением наличия подкласса без каких-либо других атрибутов.
Отдельные классы: http://img580.imageshack.us/img580/511/separated.png
Или другое?
На моем бизнес-уровне я хочу иметь возможность возвращать все изображения (независимо от типа) в графический интерфейс.Я также пытался иметь класс Image
и другой класс под названием ImageType
.Но в этом сценарии Image
, когда ImageType
равен Символы опасности , будет иметь неиспользуемый атрибут - isUsedInRiskAssessment
.
Это также влияет на то, как я 'Я собираюсь создать таблицы в базе данных.
Надеюсь, я все объяснил.Спасибо.