Вероятно, это вопрос домашнего задания, но я думаю, что вы слишком много начинаете, прежде чем разбираетесь во многих более мелких концепциях. Если это из книги, вы можете сначала сделать несколько простых упражнений. Существует слишком много концепций, с которыми вы, вероятно, не знакомы и которые вовлечены в создание этой системы.
На первый взгляд, есть несколько проблем:
1) Я не видел, где вы инициализировали свои наборы. Прямо сейчас они будут нулевыми - вы только что объявили их. Возможно, вы захотите хэш-набор или древовидную.
2) Ваши различные классы не поддерживают одинаковые или хеш-коды, вы увидите проблемы, когда вставите и попытаетесь получить их.
3) Добавление участников группы не должно создавать новый компакт-диск - вы уже передаете компакт-диск или хотя бы идентификатор, который вы можете использовать для поиска компакт-диска в вашем наборе.
4) Ваш конструктор CD испорчен. Например, почему вы получаете элемент CD в качестве первого параметра? Кроме того, вы можете не устанавливать права участников. Попробуйте что-то вроде этого.members = members