В университете нас учат, что композиция очень важна для поддержания чистоты и эффективности вашего кода.Например, объект класса игрового объекта может только существовать в объекте класса игрового поля.Если нет игрового поля, не может быть игрового поля.Однако нас никогда не учили , как реализовать такую вещь.Когда я спросил, я получил ответ, похожий на «Добавить проверку в конструкторе».или что-то в этом роде, но я понятия не имею, как бы это реализовать (я не знаю, что искать или каковы официальные термины).Одной из моих попыток было наследование.Преподавателям это не понравилось, давайте держать это в том же духе ...
Итак, как работает композиция на практике?Как я могу сделать так, чтобы класс игрового поля был only class, который мог бы создавать экземпляр игры без наследования?