Вопрос о классовой композиции другого класса - PullRequest
0 голосов
/ 10 апреля 2011

Привет
Представьте, что у меня есть класс StandardCar, который содержит ссылку на экземпляр класса Engine.Допустим, я сейчас программирую в области действия класса двигателя и хочу получить доступ к некоторым членам родительского класса, что означает использование некоторых членов содержащего класса (стандартного Car)
Могу ли я сделать это, не удерживаявторая ссылка от каждого двигателя на транспортное средство, в котором он используется?

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 апреля 2011

Могу ли я сделать это, не удерживая вторую ссылку от каждого двигателя на автомобиль, на котором он используется?

Не напрямую.Единственная другая опция может быть, если Car всегда сигнализирует о том, что действие происходит внутри Engine, он может передать ссылку на себя в качестве параметра в методе.В противном случае вам понадобится ссылка на Car или какой-либо общий интерфейс в движке.

0 голосов
/ 10 апреля 2011

Вам нужно как-то сообщить своему Engine о StandardCar, в котором он находится, через ссылку на сам объект StandardCar или через какую-то другую структуру данных, которая связывает их. Но чаще вы держите ссылку StandardCar.

...