Как наследование предоставляет родительскую реализацию подклассам? - PullRequest
2 голосов
/ 19 февраля 2012

Только что читал GoF, и они заявляют, что наследование предоставляет подклассу детали реализации его родителя. Если родительский класс использовал закрытые переменные-члены и защищенные функции, я не вижу, как реализуется реализация?

1 Ответ

0 голосов
/ 01 декабря 2012

Это плохой ответ, но все равно идет.

Когда вы наследуете класс, Intellisense или Code Completion сообщат вам, к каким функциям и переменным (общедоступным и защищенным) вы можете обращаться или переопределять. Это частичный ответ на вопрос «как наследование предоставляет родительскую реализацию подклассам?» потому что вам нужно знать, к каким функциям и переменным вы можете обращаться или манипулировать.

Если вы не написали родительский класс, вам нужно будет обратиться к некоторой документации, которая скажет вам, какие функции вы можете переопределить и место этой функции (когда и откуда она вызывается) в реализации родительского класса. Эта информация позволяет узнать, как реализован родительский класс.

Если вы написали родительский класс самостоятельно, то вы уже знаете его поведение. Когда вы создаете свой дочерний класс, вы уже имеете в виду, как работает родительский класс, таким образом, вы знаете, какие переменные и функции следует использовать или переопределять.

...