Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

П_1_3_ООП

.pdf
Скачиваний:
9
Добавлен:
03.06.2015
Размер:
256.44 Кб
Скачать

Понятие ООП

Инкапсуляция

Классы

Зоны видимости

Поля

Понятие ООП

ООП (объектно-ориентированное программирование)

парадигма программирования, в которой основными понятиями являются объекты и классы

В отличие от процедурного языка программирования С, язык С++ поддерживает данную парадигму программирования

Преимущества ООП

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

Данные и методы вместе образуют определенную сущность и они не «размазываются» по всей программе, как это нередко бывает в случае процедурного программирования.

Локализация кода и данных улучшает наглядность и удобство сопровождения программного обеспечения.

Защита наиболее критичных данных от несанкционированного доступа.

Классы

Класс является описываемой моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта.

Сам объект — это экземпляр класса.

Синтаксис класса

class имя_класса{ public: //зона видимости

//поля и методы private: //зона видимости

//поля и методы protected: //зона видимости

//поля и методы

};

Зоны видимости

Public – доступ открыт всем, кто видит определение данного класса.

Private – доступ открыт самому классу (т.е. функциям-членам данного класса) и друзьям (friend) данного класса, как функциям, так и классам.

Protected – доступ открыт классам, производным от данного.

Инкапсуляция

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

Реализацией инкапсуляции в C++ является разграничение зон видимости (доступа)

Описание класса

class clStudent{ public:

char name[100]; //имя

int spec; //код специальности int marks[10]; //оценки

clStudent(); //конструктор по умолчанию clStudent(int specCode);//конструктор void study(); //метод: учиться

};

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

сlStudent::clStudent(){ cout<<"input name - "; cin>>name;

} /*конструктор по умолчанию*/

сlStudent::clStudent(int specCode){ cout<<"input name - "; cin>>name;

spec = specCode;

}

Методы

void сlStudent::study(){ for (int i=0; i<10; i++){ cout<<"input mark - ";

cin>> mark[i];

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]