Бьерн Страуструп. Язык программирования С++ Второе дополненное издание



Pdf көрінісі
бет115/256
Дата11.07.2022
өлшемі2,87 Mb.
#37591
1   ...   111   112   113   114   115   116   117   118   ...   256
ГЛАВА 6. 
Не плоди объекты без нужды. 
- В. Оккам 
Эта глава посвящена понятию производного класса. Производные классы - это простое, гибкое и 
эффективное средство определения класса. Новые возможности добавляются к уже существующему 
классу, не требуя его перепрограммирования или перетрансляции. С помощью производных классов 
можно организовать общий интерфейс с несколькими различными классами так, что в других частях 
программы можно будет единообразно работать с объектами этих классов. Вводится понятие 
виртуальной функции, которое позволяет использовать объекты надлежащим образом даже в тех 
случаях, когда их тип на стадии трансляции неизвестен. Основное назначение производных классов – 
упростить программисту задачу выражения общности классов. 
6.1 Введение и краткий обзор 
Любое понятие не существует изолированно, оно существует во взаимосвязи с другими понятиями, и 
мощность данного понятия во многом определяется наличием таких связей. Раз класс служит для 
представления понятий, встает вопрос, как представить взаимосвязь понятий. Понятие производного 
класса и поддерживающие его языковые средства служат для представления иерархических связей, 
иными словами, для выражения общности между классами. Например, понятия окружности и 
треугольника связаны между собой, так как оба они представляют еще понятие фигуры, т.е. содержат 
более общее понятие. Чтобы представлять в программе окружности и треугольники и при этом не 
упускать из вида, что они являются фигурами, надо явно определять классы окружность и треугольник 
так, чтобы было видно, что у них есть общий класс - фигура. В главе исследуется, что вытекает из этой 
простой идеи, которая по сути является основой того, что обычно называется объектно-
ориентированным программированием. 
Глава состоит из шести разделов: 
$$6.2 с помощью серии небольших примеров вводится понятие производного класса, иерархии 
классов и виртуальных функций. 
$$6.3 вводится понятие чисто виртуальных функций и абстрактных классов, даны небольшие 
примеры их использования. 
$$6.4 производные классы показаны на законченном примере 
$$6.5 вводится понятие множественного наследования как возможность иметь для класса более 
одного прямого базового класса, описываются способы разрешения коллизий имен, 
возникающих при множественном наследовании. 
$$6.6 обсуждается механизм контроля доступа. 
$$6.7 приводятся некоторые приемы управления свободной памятью для производных классов. 
В последующих главах также будут приводиться примеры, использующие эти возможности языка. 


Достарыңызбен бөлісу:
1   ...   111   112   113   114   115   116   117   118   ...   256




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет