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

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


 

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

3610. Инженерная графика 9.34 MB
  Учебно-методическое пособие представляет базовый курс инженерной графики. Приводится необходимая информация для освоения курса инженерной графики и выполнения расчетно-графических работ. Содержатся основные положения нормативно-технической документа..
3611. Исследование некоторых эксплуатационных показателей трелевочных тракторов ОТЗ различной энергонасыщенности 8.82 MB
  Введение Основной задачей технического прогресса в лесозаготовительной промышленности на перспективный период является увеличение производительности труда за счет интенсификации общественного производства, т.е., за счет роста его энерговооруженности...
3612. Характеристика суждения 59.5 KB
  Характеристика суждения Придать логическую форму следующим высказываниям (выразить через суждения вида А, Е, I, О): а) Рыба дышит жабрами. А: Все S есть P б) Лень никогда не приводит к добру; E: все S не есть P в) Иногда металлы жидкие. I: Некоторые ...
3613. CASE-средства: этапы становление, современное состояния 93.5 KB
  CASE-средства: этапы становление, современное состояния Техническими предпосылками CASE-технологий являются средства машинной графики, большие объемы используемой памяти ЭВМ, высокая производительность и т.п. В настоящее время можно выделить три пок...
3614. Понятие темперамента 85 KB
  Понятие о темпераменте Темперамент является одним из наиболее значимых свойств личности. Интерес к данной проблеме возник более двух с половиной тысяч лет тому назад. Он был вызван очевидностью существования индивидуальных различий, которые обуслов...
3615. Начертательная геометрия и инженерная графика 2.3 MB
  Содержание и объем контрольных работ находятся в соответствии с программой Министерства образования Российской Федерации. Пособие включает методические указания, рабочую программу и варианты заданий для контрольных работ. В нем кратко изложен теорет...
3616. Разработка технологического процесса механической обработки детали «Клапан» 579.5 KB
  Основные направления в развитии технического прогресса, которые характеризуются не только непрерывным появлением принципиально новых технологических процессов производства, но и непрерывной заменой существующих процессов более точными
3617. Проектування металоконструкцій 550.5 KB
  Методичні вказівки до виконання розрахунково-графічної роботи з курсу “Проектування металоконструкцій” для студентів спеціальності 7.090214 - “Підйомно-транспортні, будівельні, дорожні, меліоративні машини і обладнання” і 6.0...
3618. Технологічні комплекси для виробництва будівельних матеріалів 928 KB
  Методичні вказівки до виконання практичних вправ, курсового та дипломного проектів з курсу “Технологічні комплекси для виробництва будівельних матеріалів” розділ: “Дробарно-сортувальні комплекси” для студентів спеціальності 7...