Например, если я моделирую коллекцию книг и хочу иметь возможность представлять наборы книг, которые собираются вместе (например, серию энциклопедий), наборы могут иметь много общих свойств, которые также будут иметь отдельные книги (автор, публикация и т. д.). дата, название и др.). С точки зрения именования классов в контексте ООП, будет ли уместно, чтобы суперкласс назывался BookSet, если подкласс будет чем-то вроде IndividualBook, или более подходящим будет другое слово?
Однако я подозреваю, что вы используете неправильное имя для концепции, которую пытаетесь описать. Если эти данные относятся как к отдельным книгам, так и к наборам книг, вам следует найти уникальное имя для описания и инкапсуляции их общей структуры.
Например, LibraryItem
. Тогда Book
и BookSet
могут наследоваться (или реализовываться) от LibraryItem
, что позволит вам повторно использовать общие черты, но без путаницы в отношении того, что отдельная книга должна быть частью набора сама по себе.
Не стесняйтесь выбрать другое имя, отличное от LibraryItem
, возможно, для вашего случая использования есть контекстуально более подходящее имя.