Если вы хотите иметь счетчик всех книг во всех библиотеках, я бы лучше попросил каждую библиотеку подсчитать количество книг и подсчитать общее количество лотов.
Я думаю, что это гораздо лучше, если спросить библиотеки о том, что они содержат. Библиотеки заботятся о своих книгах, и ответственность лежит на них. Сохранение этого общего состояния вне библиотек нарушает инкапсуляцию (и в зависимости от реализации может причинить вам боль при одновременном обновлении и т. Д., Если вы решите сделать это в будущем).
Помните, что одним из пунктов ОО является указание объектам делать что-то для вас .
Я не уверен насчет вашего утверждения. книги, существующие только в библиотеке. Они принадлежат библиотеке, но это немного отличается. Ваши книги могут быть автономными объектами (не обязательно внутренними классами), и, возможно, ваши библиотеки должны содержать фабрику книг, которая создает книгу со ссылкой на библиотеку-владельца. Проверьте Заводской шаблон для получения дополнительной информации.