Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 46 стр.

UptoLike

Составители: 

46
Для класса в C++ реализуется возможность наследования. Насле-
дование прежде всего является эффективным механизмом повторного
использования классов, когда новые классы строятся при необходимо-
сти на базе уже существующих, а не с нуля. При этом необходимо раз-
личать понятия наследования и агрегирования. Наследование отражает
отношения между классами «это есть». Примеры наследования: автомо-
биль
есть транспортное средство, клиент банка есть человек, прямо-
угольник есть геометрическая фигура. Таким образом, при наследовании
базовый и производный классы выступают как, соответственно, обоб-
щение и конкретизация некоторого объекта реального мира. В случае
наследования новый класс в буквальном смысле создаётся на основе ра-
нее объявленного класса, наследует, а возможно и
модифицирует его
данные и функции. Объявленный класс может служить основой (базо-
вым классом) для новых производных классов. Производные классы на-
следуют данные и функции своих базовых классов и добавляют собст-
венные компоненты.
Агрегирование предполагает возможность объявления в классе
отдельных членов класса на основе ранее объявленных классов. Таким
образом, агрегирование отражает отношение
между классамибыть ча-
стью”. Примеры агрегирования: двигатель есть часть автомобиля, лепе-
сток есть часть цветка, цветок есть часть растения. Ранее мы уже встре-
чали примеры агрегирования классовкогда класс bank содержал спи-
сок объектов класса client. При агрегировании классов агрегирующий
класс также как и при наследовании получает возможность доступа
к
компонентным данным и методам агрегируемого класса (безусловно, с
ограничениями, накладываемыми их областями видимости), но эти дан-
ные и методы не становятся собственностью объектов этого класса. Аг-
регируемый класс остается автономным объектом, что накладывает ряд
     Для класса в C++ реализуется возможность наследования. Насле-
дование прежде всего является эффективным механизмом повторного
использования классов, когда новые классы строятся при необходимо-
сти на базе уже существующих, а не с нуля. При этом необходимо раз-
личать понятия наследования и агрегирования. Наследование отражает
отношения между классами «это есть». Примеры наследования: автомо-
биль есть транспортное средство, клиент банка есть человек, прямо-
угольник есть геометрическая фигура. Таким образом, при наследовании
базовый и производный классы выступают как, соответственно, обоб-
щение и конкретизация некоторого объекта реального мира. В случае
наследования новый класс в буквальном смысле создаётся на основе ра-
нее объявленного класса, наследует, а возможно и модифицирует его
данные и функции. Объявленный класс может служить основой (базо-
вым классом) для новых производных классов. Производные классы на-
следуют данные и функции своих базовых классов и добавляют собст-
венные компоненты.
     Агрегирование предполагает возможность объявления в классе
отдельных членов класса на основе ранее объявленных классов. Таким
образом, агрегирование отражает отношение между классами “быть ча-
стью”. Примеры агрегирования: двигатель есть часть автомобиля, лепе-
сток есть часть цветка, цветок есть часть растения. Ранее мы уже встре-
чали примеры агрегирования классов – когда класс bank содержал спи-
сок объектов класса client. При агрегировании классов агрегирующий
класс также как и при наследовании получает возможность доступа к
компонентным данным и методам агрегируемого класса (безусловно, с
ограничениями, накладываемыми их областями видимости), но эти дан-
ные и методы не становятся собственностью объектов этого класса. Аг-
регируемый класс остается автономным объектом, что накладывает ряд

                                 46