Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
class1 - new_2021.doc
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
44.1 Кб
Скачать

19

Объектно-ориентированный подход к программированию.

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

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

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

Понятие класса

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

Класс в С++ рассматривается как естественное расширение понятия структуры.

С другой стороны, введение понятия класса является естественным развитием идей модульности.

В классе структуры данных и функции их обработки объединяются.

Класс используется только через его интерфейс — детали реализации для пользователя класса несущественны.

Идея классов отражает строение объектов реального мира — ведь каждый предмет или процесс обладает набором характеристик или отличительных черт, иными словами, свойствами и поведением.

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

Например, Б. Страуструп разработал C++ для моделирования телефонных коммутационных систем.

Тип в языках программирования – понятие первичное.

Тип объекта задает

- формат внутреннего представления объекта в памяти компьютера,

- множество значений, принимаемых объектом, и

- совокупность операций, выполняемых над этими значениями.

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

В языке С++ программист имеет возможность вводить собственные типы данных и определять операции над ними с помощью классов.

Простейшее определение класса:

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

Определение класса дается с помощью конструкции, называемой спецификацией класса:

ключ_класса имя_класса // заголовок класса

{список_компонентов_класса}; // тело класса

Определение класса, как и структурного типа, всегда заканчивается ';',

ключ_ классаодно из слов class, struct, union,

имя_класса – правильный идентификатор,

список_ компонентов_класса – (или членов класса - members) определения и описания типизированных данных (полей данных - data members) и принадлежащих классу функций (методов класса – member functions).

Функции – члены класса (member functions), называют также методами класса или компонентными функциями.

Данные класса (data members), называют полями данных, компонентными данными или элементами данных класса.

Определения разнотипных данных в списке отделяется ';', если данные однотипные, их идентификаторы можно перечислить через запятую, аналогично как в структурах.

Членами класса в общем случае могут быть данные, функции, классы, перечисления, битовые поля, дружественные функции, дружественные классы и имена типов.

Список членов класса, заключенный в фигурные скобки, называется телом класса, ему предшествует заголовок класса.

Определим класс book:

struct book {

char title [256];

char author [40];

float price;

void show_title ()

{cout<<title<<"\n ";}

float get_ price (void)

{return (price);}

};

Класс, как и структура, описывает тип, шаблон для будущих объявление переменных, память при объявлении класса не выделяется.

Соседние файлы в предмете Вводный курс программирования