Программирование >>  Элементы языков с и с++ 

1 ... 48 49 50 [ 51 ] 52 53 54 ... 200


char name [30]; int size, year; } group;

Здесь вся структура заменена синонимом group. Теперь переменные типа структуры club можно объявлять переменными типа group:

group a,b,*с;

a.size=123;

b.year=2007;

c= (group *) malice(sizeof(group)); выделили память под структуру (инициализировали указатель)

c->name[0]=a;

c->name[l]=b;

Или:

enum days {sun, mon, tues, wed, thur, fri, sat}; ввели тип

typedef enum days d;

d dd;

dd=sat;

Или:

typedef char * cc; замена указателя

cc str;

str= 123 ;

int i=atoi(str);



Глава 8

в1Чг


Классы в С++

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

Концепция объектно-ориентированного программирования (ООП) включает в себя понятия объектов, классов, инкапсуляции и наследования.

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

Кжс- это некий чертеж, некий проект, из которого создается объект. В классе заложены свойства и поведение будущего объекта, который получается из класса как из проекта. Например, Автомобили - это класс. Тойота - это объект класса Автомобили , конкретное воплощение класса в конкретную модель. Или, например, проект дома серии 135- это класс, а сам конкретный дом, построенный по конкретному адресу,- это объект класса домов серии 135. Таким образом, когда мы смотрим на окружающие нас объекты реального мира в плане их состояния и поведения, то готовы к пониманию объектно-ориентированного программирования.

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



дущих объектов, которые станут получаться по определенным правилам из этих классов, куда закладываются варианты поведения будущих объектов через создаваемые в классах параметрические программы (методы классов). Такой способ значительно ускоряет разработку программного обеспечения и облегчает труд программиста. Вспомним, что одним из первых средств автоматизации труда программиста были так называемые стандартные программы, которые выполняли часто встречающиеся действия (например, перевод десятичных чисел в двоичные, вычисление тригонометрических функций и т. п.). Такие программы объединялись в библиотеки стандартных программ. Сегодня на более высоком уровне мы имеем библиотеки классов, которые поставляют нашим программам необходимые им объекты (рисунки, фотографии, средства мультимедиа и т. п.), тем самым повышая качество и эффективность современного программирования.

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

Методы обрабатывают внутренние состояния объекта и обеспечивают механизм взаимодействия между объектами. Например, возьмем класс велосипедов. Свойствами, характеризующими состояния объектов этого класса, будут: текущая скорость, текущее состояние переключателя педали (изменение скорости), количество шестеренок и текущая шестеренка, за счет которой скорость изменяется. Методами, которые изменяют состояние велосипеда, будут: смена шестеренки, переключение педали и изменение скорости. Весь этот механизм изменения свойств методами класса спрятан внутри самого класса. Такой принцип взаимодействия элементов класса носит название ш-капсуляции данных. Это фундаментальный принцип объектно-ориентированного программирования.

В чем же фактическая польза от механизма классов-объектов?

Во-первых, обеспечивается модульность программирования: исходный код объекта написан и поддерживается независимо от исходных кодов других объектов (т. е. повышается надежность всей задачи, программа которой состоит из цепочки таких независимых модулей).

Во-вторых, механизм работы такого модуля скрыт внутри самого модуля и не отвлекает программиста на выяснение различных мелких деталей алгоритма



1 ... 48 49 50 [ 51 ] 52 53 54 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика