|
Программирование >> Элементы языков с и с++
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. Таким образом, когда мы смотрим на окружающие нас объекты реального мира в плане их состояния и поведения, то готовы к пониманию объектно-ориентированного программирования. Объектно-ориентированное программирование- это способ программирования с ориентацией на объекты. При таком способе создаются крупные программные образования - классы, куда закладываются общие свойства бу- дущих объектов, которые станут получаться по определенным правилам из этих классов, куда закладываются варианты поведения будущих объектов через создаваемые в классах параметрические программы (методы классов). Такой способ значительно ускоряет разработку программного обеспечения и облегчает труд программиста. Вспомним, что одним из первых средств автоматизации труда программиста были так называемые стандартные программы, которые выполняли часто встречающиеся действия (например, перевод десятичных чисел в двоичные, вычисление тригонометрических функций и т. п.). Такие программы объединялись в библиотеки стандартных программ. Сегодня на более высоком уровне мы имеем библиотеки классов, которые поставляют нашим программам необходимые им объекты (рисунки, фотографии, средства мультимедиа и т. п.), тем самым повышая качество и эффективность современного программирования. Программно в классах задаются элементы, называемые свойстваии. Они описывают состояние объекта и хранятся в специальных элементах, называемых полями. Поведение же объекта описывается специальными функциями, которые в классах носят название методов. Когда свойствам класса присваиваются какие-то конкретные значения, то тем самым из класса создается конкретный объект. Объекты создаются специальным методом класса, называемым конструктором. Методы обрабатывают внутренние состояния объекта и обеспечивают механизм взаимодействия между объектами. Например, возьмем класс велосипедов. Свойствами, характеризующими состояния объектов этого класса, будут: текущая скорость, текущее состояние переключателя педали (изменение скорости), количество шестеренок и текущая шестеренка, за счет которой скорость изменяется. Методами, которые изменяют состояние велосипеда, будут: смена шестеренки, переключение педали и изменение скорости. Весь этот механизм изменения свойств методами класса спрятан внутри самого класса. Такой принцип взаимодействия элементов класса носит название ш-капсуляции данных. Это фундаментальный принцип объектно-ориентированного программирования. В чем же фактическая польза от механизма классов-объектов? Во-первых, обеспечивается модульность программирования: исходный код объекта написан и поддерживается независимо от исходных кодов других объектов (т. е. повышается надежность всей задачи, программа которой состоит из цепочки таких независимых модулей). Во-вторых, механизм работы такого модуля скрыт внутри самого модуля и не отвлекает программиста на выяснение различных мелких деталей алгоритма
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |