0
Существует 2 разных дизайна. Второй вариант (ниже) - улучшенная версия первой. Разница в том, что я добавляю 2 дочерних класса в B. Таким образом, A теперь зависит от 2-х дочерних классов. но что будет, если у B больше дочерних классов?Обобщение с унаследованными классами
Действительно ли это лучшая практика? Особенно с точки зрения ГРАСП?
Но разве это не означает, что у вас будет экземпляр B? Это похоже на «B b = новый B» в классе A, и в этом случае я не могу использовать sub1 и sub2. – Yavuz
Да, это означает, что A будет иметь хотя бы один экземпляр B, но экземпляры sub1 и sub2 также являются экземплярами B. Таким образом, код B b = новый sub2(); также действительна. Вы также можете установить B как абстрактный, чтобы смоделировать тот факт, что у вас никогда не будет B-экземпляров –