Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб3_Разработка_Классов3.doc
Скачиваний:
4
Добавлен:
18.11.2018
Размер:
256.51 Кб
Скачать

2.2. Уровни доступа к членам класса.

Члены класса могут иметь три уровня доступа: закрытый (private), открытый (public) или защищённый (protected). Уровни доступа к членам класса определяют способ работы пользователей с классом. Программируя самостоятельно, программист может быть как создателем класса, так и их пользователем. При работе в команде один программист может быть создателем класса, а остальные - его пользователями.

Любой класс содержит открытую часть, к которой возможен доступ извне класса, и закрытую часть. Закрытая часть класса определяет его внутреннюю реализацию. В хорошо спроектированном классе от пользователя скрыто всё, что ему не требуется знать.

Абстрактное представление данных - это сокрытие внутренней реализации элементов класса от его внешнего окружения. Абстрактное представление данных даёт пользователю возможность знать о классе ровно столько, сколько необходимо, и предохраняет от вмешательства туда, куда вмешиваться не стоит. Но если внутренняя работа класса закрыта, то интерфейс пользователя должен быть открытым.

К защищённым членам класса, как и к закрытым, пользователь обращаться тоже не может. Однако эти члены могут быть доступными для классов, которые являются производными от данного класса.

2.3. Конструкторы.

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

Конструктор, у которого нет аргументов, называется конструктором по умолчанию. Имя конструктора должно совпадать с именем класса. Это служит отличительным признаком конструктора. Конструктор не может возвращать никакого значения и поэтому для него не указывается тип возвращаемого значения.

Важно понимать, что нельзя явно вызывать конструктор. Конструктор используется только при создании объекта (или реализации) класса. Возможно использование любого количества конструкторов, но при этом нельзя допускать неоднозначности в списке параметров.

2.4. Деструкторы.

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

Как было сказано, деструктор вызывается непосредственно перед разрушением объекта класса. Объект класса может быть разрушен либо при выходе из области видимости, либо в результате применения оператора delete. В любом случае, вызов деструктора будет последним действием перед окончательным исчезновением объекта класса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]