46259

Парадигма ООП. Классы и объекты. Области видимости. Конструкторы. Деструкторы

Доклад

Информатика, кибернетика и программирование

Наследование позволяет создавать иерархию объектов, в которой объекты-потомки наследуют все свойства своих предков. Свойства при наследовании повторно не описываются. Кроме унаследованных, потомок обладает собственными свойствами

Русский

2013-11-20

13.32 KB

3 чел.

4. Парадигма ООП. Классы и объекты. Области видимости. Конструкторы. Деструкторы.

Объектно-ориентированная парадигма программирования

• Инкапсуляция - скрытие деталей реализации, объединение данных и действий над ними

• Наследование позволяет создавать иерархию объектов, в которой объекты-потомки наследуют все свойства своих предков. Свойства при наследовании повторно не описываются. Кроме унаследованных, потомок обладает  собственными свойствами

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

Термины класс и объект часто взаимозаменяемы, но в действительности классы описывают типы объектов, а объекты — это используемые экземпляры классов. Поэтому процесс создания объекта называется созданием экземпляра. Если использовать сравнение с чертежом, то класс является чертежом, а объект является зданием, построенным по нему.

class SampleClass

{

}

Области видимости 

class имя

{

private:

   описание скрытых элементов

public:

   описание доступных элементов

};

• public – область открытых полей класса

• private – область закрытых полей класса

• protected – закрыта для пользователя, открыта для наследников

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

• Конструктор не возвращает значение, даже void. Нельзя получить указатель на конструктор.

• Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации (при

этом используется механизм перегрузки).

• Конструктор, вызываемый без параметров, называется конструктором по умолчанию.

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

по умолчанию. Их может содержать только один из конструкторов.

• Если программист не указал ни одного конструктора, компилятор создает его автоматически. Такой конструктор

вызывает конструкторы по умолчанию для полей класса и конструкторы по умолчанию базовых классов.

• Конструкторы не наследуются.

• Конструкторы нельзя описывать как const, virtual и static

// constructors.cpp

// compile with: /c

class MyClass {

public:

  MyClass(){}

  MyClass(int i) : m_i(i) {}

private:

  int m_i;

};

Деструкторы

• Деструктор вызывается автоматически, когда объект уничтожается

• Всегда начинается с символа тильда (~)

~Monster() {

delete [] name;

}

• Не имеет аргументов и возвращаемого значения

• Не может быть объявлен как const или static

• Может быть виртуальным


 

А также другие работы, которые могут Вас заинтересовать

12354. Изучение свойств p-n перехода 283 KB
  Лабораторная работа № 23 Изучение свойств pn перехода 1. Цель работы: изучение вольтамперных характеристик при прямом и обратном направлении протекающего через переход тока и вольтфарадной зависимость емкости перехода от приложенного напряжения характеристики pn...
12355. Изучение вынужденных колебаний в колебательном контуре 343.5 KB
  Лабораторная работа № 22 Изучение вынужденных колебаний в колебательном контуре 1. Цель работы: изучение зависимости тока в колебательном контуре от частоты источника включенного в контур измерение резонансной частоты контура. 2. Вынужденные колебания в RLCконтур
12356. Скин-эффект в металле 182.5 KB
  Лабораторная работа № 21 Скинэффект в металле 1. Цель работы: Изучение скинэффекта в металле. 2. Электромагнитная индукция. Вихревое электрическое поле. Явление электромагнитной индукции состоит в том что в проводящем контуре находящемся в переменном магнитном
12357. Изучение магнитного поля соленоида с помощью датчика Холла 198.5 KB
  Лабораторная работа № 20 Изучение магнитного поля соленоида с помощью датчика Холла 1. Цель работы: исследование магнитного поля на оси соленоида с использованием датчика Холла. 2. Методика измерений. Сначала получим выражение для расчета индукции магнитного пол
12358. Определение отношения заряда электрона к его массе методом магнетрона 245 KB
  Лабораторная работа № 19 Определение отношения заряда электрона к его массе методом магнетрона 1. Цель работы: измерение удельного заряда |e|/m электрона. 2. Методика измерений Существуют различные методы определения отношения |e|/m в основе которых лежат результа...
12359. Исследование распределения термоэлектронов по скоростям 146 KB
  Лабораторная работа № 18 Исследование распределения термоэлектронов по скоростям 1. Цель работы: экспериментальное исследование распределения Максвелла. 2. Обоснование метода исследования. В замкнутом сосуде наполненном газом при температуре Т устанавливается...
12360. Ремонт стартера 427 KB
  Стартер является основным прибором системы пуска двигателя и представляет собой четырехнолюсный электродвигатель для преобразования электрической энергии аккумуляторной батареи в механическую и передачи ее на маховик с целью прокрутки коленчатого вала двигателя.
12361. Определение характеристик постоянного магнита по измерениям с датчиком Холла 249.5 KB
  Лабораторная работа № 16 Определение характеристик постоянного магнита по измерениям с датчиком Холла 1. Цель работы: Определение характеристик постоянного магнита по измерениям с датчиком Холла. 2. Эффект Холла. Эффект Холла заключается в том что если пропустит...
12362. Исследование характеристик поперечного датчика Холла 266.5 KB
  Лабораторная работа № 15 Исследование характеристик поперечного датчика Холла 1. Цель работы: Исследование характеристик поперечного датчика Холла 2. Эффект Холла. Эффект Холла заключается в том что если пропустить через металлическую или полупроводниковую пла