Класс.Объявление класса и закрытие переменных.С++

Класс. Объявление класса

Класс — это тип. Этот производный тип вводится в программу с помощью специального оператора объявления класcа. В объявлении класса используется ранее описанный инструментальный набор средств для построения и преобразования производных типов.

Объектная модель, реализованная в консольном режиме Delphi Pascal, по современным меркам является упрощенной, но она позволяет изучить основные приемы объектно ориентированного программирования и оценить его достоинства и недостатки.

В настоящей главе рассмотрены средства, используемые для объявления классов и объектов, и принципы создания «универсальных» классов.

Объявление класса

  Для объявления класса используется ключевое слово class, за которым следует открывающая фигурная скобка, список данных-членов и методов клаcса. Объявление завершается закрывающей фигурной скобкой и точкой с запятой. Вот как выглядит объявление класса Cat:

При объявлении клаcса Cat память не резервируется. Это объявление просто сообщает компилятору о существовании класса Cat, о том, какие данные он содержит (переменные itsAge и itsweight), а также о том, что он умеет делать (метод Meow()). Кроме того, объявление сообщает компилятору о размере клаcса Cat, т.е. сколько места должен зарезервировать компилятор для каждого объекта класса Cat. Поскольку в приведенном примере для целого значения требуются четыре байта, размер объекта Cat составит восемь байтов (четыре байта для переменной itsAge и четыре — для itsWeight). Метод Meow() не требует выделения памяти, поскольку для функций-членов (методов) объекта пространство в памяти не резервируется.

Закрытые и открытые члены клаcса

  В объявлении класcа используются и другие ключевые слова. Двумя самыми важными из них являются public(открытый) и private (закрытый).

Ключевые слова public и private применимы для всех членов клаcса: и переменных-членов, и методов. К закрытым членам могут обращаться только те методы, которые принадлежат этому классуОткрытые члены доступны для всех других функций программы. Это отличие крайне важно, но не совсем понятно. Чтобы прояснить ситуацию, рассмотрим пример, который уже приводился в этой главе.

 Здесь объявлены закрытые переменные itsAge и itsWeight, а также закрытый метод Meow(), поскольку по умолчанию все члены клаcса являются закрытыми. Это значит, что если член класса не указан как открытый явно, то он считается закрытым.

Добавить комментарий