Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Структура класса




В качестве основных составляющих класса (общих для всех объектно-ориентированных языков программирования) являются:

· Поля. В полях хранятся данные класса. Все данные объекта хранятся в его полях. Доступ к полям осуществляется по их имени;

Определение поля выглядит следующим образом:

class Parent

{

int _value;

}

В данном примере объявлено поле класса с именем «_value» с типом int

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

Определение статического поля выглядит следующим образом:

class Parent

{

static int _value;

}

Обращение к статическому полю, не внутри класса выглядит следующим образом:

Parent._value = 10;

 

· Свойства.Свойства необходимы для того, чтобы управлять доступом к полям класса. При проектировании классов необходимо иметь возможность управлять процессом установки значений полям класса, которые делаются как из других, так и из дочерних классов.

Определение свойства для поля выглядит следующим образом:

class Parent

{

int _value;

int Value

{

get

{

Return _value;

}

set

{

_value = value;

}

}

}

В данном примере, в разделе «get» возвращается значение свойства, а в разделе «set» устанавливается. Один из разделов может отсутствовать, тогда свойство будет либо только на чтение, либо только на запись. То, что возврат и установка значений делается в блоке кода, даёт возможность контроля за значениями.

· Методы. Методы позволяют управлять данными класса и производить различные вычисления.

Определение метода выглядит следующим образом:

class Parent

{

int _value;

int Calculate(int parAmount)

{

return _value + parAmount;

}

}

В данном примере объявлено поле класса с именем «_value» с типом int

· Конструктор. Специальный метод класса в объектно-ориентированном программировании, служащий для инициализации объекта при его создании. Конструктором класса называется функция, имеющая то же имя, что и сам класс, и не возвращающая никакого значения. Говоря более простым языком, конструктором называется тот метод класса, который вызывается автоматически при создании экземпляра класса. Имя конструктора должно совпадать с именем класса. Допускается использовать несколько конструкторов с одинаковым именем, но различными параметрами.

Определение конструктора выглядит следующим образом:

class Parent

{

Parent()

{

}

}

Различают следующие, основные, виды конструкторов:

o Конструктор по умолчанию.Конструктор не имеющий аргументов. В отсутствие явно заданного конструктора по умолчанию его код генерируется компилятором (что в исходном тексте, не отражается). Пример конструктора по умолчанию указан выше;

o Конструктор копирования. Конструктор, аргументом которого является ссылка на объект того же класса. Используется, если при создании нового объекта, в него нужно скопировать данные из другого, аналогичного типа.

Определение конструктора копирования выглядит следующим образом:

class Parent

{

int _value = 0;

Parent(Parent parParentCopy)

{

_value = parParentCopy._value;

}

}

 

· Деструктор. Специальный метод класса, служащий для деинициализации объекта (например освобождения памяти). Имя деструктора должно совпадать с именем класса и иметь префикс ~. У класса может быть только один деструктор. Деструктор не имеет модификатора доступа и параметров.

Определение деструктора выглядит следующим образом:

class Parent

{

~Parent()

{

}

}

 


Поделиться:

Дата добавления: 2015-09-15; просмотров: 55; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты