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

Принципы ООП. Инкапсуляция. Наследование. Полиморфизм.

Структура программы. Директивы. Переменные и константы. | Типы данных. Преобразования типов. | Циклы и ветвления | Синтаксис определения структуры, структурной переменной. Доступ к полям структуры, присвоение структурных переменных. | Синтаксис определения, инициализация указателя на структуру. Работа с полями структуры через указатели. | Определение функции. Передача аргументов и возврат значения по значению, ссылке и указателю. Аргументы по умолчанию. Константы аргументов функции. | Перегруженные функции. Встроенные функции. Рекурсивные функции. | Область видимости и класс памяти. | Объекты как аргументы методов и доступ к их числам. | Размещение в памяти членов объектов одного класса и способ создания общих полей (св-в). |


Читайте также:
  1. I. Ценности и принципы
  2. II. Основные принципы и ошибки инвестирования
  3. IV. Принципы создания и развития системы персонального учета населения Российской Федерации
  4. Архитектура ЭВМ. Принципы фон-Неймана. Основной цикл работы ЭВМ.
  5. Базовые принципы описания целевой аудитории
  6. Библейские принципы руководства церкви
  7. Билет 21. Понятие и принципы правотворчества.

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

Ф-ии объекта, называемые в С++ методами или ф-иями-членами, обычно предназначены для доступа к данным и объектам. Если необходимо считать какие-либо данные объекта, нужно вызвать соответствующий метод, который выполнит считывание и возвратит требуемое значение. Прямой доступ к данным не возможен. Данные сокрыты от внешнего воздействия, что защищает их от случайного изменения. Говорят, что данные в методе инкапсулированы. Термин сокрытие и инкапсуляция данных являются ключевыми в описании объектно-ориентированных языков.

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

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

 

14) Классы и объекты в языке С++. Улиты класса. Определение класса (поля, методы, доступ к членам класса). Определение методов в классе и вне класса.

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

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

class smallobj // определение класса

{

private:

int somedata; // поле класса

public:

void setdata(int d) // метод класса, изменяющий значение поля

{ somedata = d; }

void showdata() // метод класса, отображающий значение поля

{ cout << "Значение поля равно " << somedata << endl;}

};

Обратите внимание на то, что функции setdata() и showdata() определены внутри класса. Внутри класса функции можно не только определять, но и объявлять, а определение функции производить в другом месте. Определение будет выглядеть следующим образом: перед именем функции стоит имя класса и:: (операция глобального разрешения).

void smallobj::setdata(int d)

{ somedata=d;}

Такая форма записи устанавливает взаимосвязь ф-ии и класса, к которой относится эта ф-ия.


Дата добавления: 2015-08-17; просмотров: 109 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Объявление и инициализация одномерного и двумерного массивов. Работа с элементами массива через указатель.| Конструкторы и деструкторы. Конструкторы копирования по умолчанию.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)