Посмотрите на YouTube видеолекцию гуру объектно-ориентированного программирования Роберта Мартина
Просто примите меры для того, чтобы придерживаться руководства по проектированию классов Sound (см. главу 5).
Агрегация — это сложный объект, состоящий из других объектов. Ассоциация используется, когда одному объекту нужно, чтобы другой объект оказал ему услугу.
наиболее интуитивно понятной формой композиции является агрегация. Она означает, что сложный объект состоит из других объектов.
существует два типа композиции — ассоциация и агрегация.
Более подробно об этом вы сможете узнать из книги Скотта Амблера (Scott Ambler) «Введение в объектно-ориентированную технологию».
Представляет ли он собой настоящее отношение «является экземпляром»? Компилятор считает, что да:
Dog D = new Dog();
Nameable N = D;
С этим кодом все отлично. Таким образом, мы можем с уверенностью сказать, что экземпляр класса Dog — это сущность, которой можно дать имя.
как наследование, так и интерфейсы представляют собой отношение «является экземпляром».
Наследование иногда называют наследованием реализации, а интерфейсы — наследованием определения.
Эти абстрактные методы представляют собой контракт.