6. Компонентные функции классов

 

Классы. Для представления абстракций объектов используется специальный определяемый программистом тип данных - класс. Класс – это структурный тип, используемый для описания некоторого множества объектов предметной области, имеющих общие свойства и поведение. Он описывается следующим образом:

 

class <имя класса>

 

{ private: <внутренние (недоступные) компоненты класса>;

 

protected: <защищенные компоненты класса>;

 

public: <общие (доступные) компоненты класса>;

 

};

 

В качестве компонентов в описании класса фигурируют поля, используемые для хранения параметров объектов, и функций, описывающие правила взаимодействия с ними. В соответствии со стандартной терминологией ООП функции - компоненты класса или компонентные функции можно называть методами.

 

Компоненты класса, объявленные в секции private, называются внутренними. Они доступны только компонентным функциям того же класса и функциям, объявленным дружественными описываемому классу. Компоненты класса, объявленные в секции protected, называются защищенными. Они доступны компонентным функциям не только данного класса, но и его потомкам.

 

Компоненты класса, объявленные в секции public, называются общими. Они доступны за пределами класса в любом месте программы. Именно в этой секции осуществляется объявление полей и методов интерфейсной части класса.

 

Поля класса всегда описываются внутри класса. В отличие от полей, компонентные функции могут быть описаны как внутри, так и вне определения класса. В последнем случае определение класса должно содержать прототипы этих функций, а заголовок функции должен включать описатель видимости, который состоит из имени класса и знака «::». Таким способом компилятору сообщается, что определяемой функции доступны внутренние поля класса:

 

<тип функции> <имя класса>:: <имя функции>(<список параметров>)

 

{<тело компонентной функции>}

Hosted by uCoz