- 1
- 2
- 3
- . . .
- последняя »
ВВЕДЕНИЕ В ОБЪЕКТНОЕ ПРОГРАММИРОВАНИЕЛекция 1. Объектное программирование как технология программирования
-------------------------------------------------------------
Традиционная технология программирования 70-х годов - структурное программирование:
- модульное программирование;
- нисходящее программирование;
- структурное проектирование процедур и данных (программирование без goto).
Язык Паскаль - соответствует указанным принципам и был разработан под влиянием идей структурного программирования.Альтернативный подход - восходящее программирование - предполагает в простейшем случае создание слоя структур данных и процедур, обеспечивающих полный набор действий над объектами, которые представлены в данной задаче. Пример традиционного подхода библиотека стандартных функций.Следующий шаг - введение в программу объектов. Под объектом понимается структура данных, которая содержит полную информацию о состоянии соответствующего физического объекта, который отображается программой. В Си этому может соответствовать структура struct), в Паскале - запись (record). Множество объектов одного типа составляют понятие класса. Объектно-ориентированный подход к разработке программ предполагает, что в программе устанавливается взаимно-однозначное соответствие между физическими объектами,
отображаемыми программой, и програмнными объектами, являющимися, по существу, структурированными переменными (в дальнейшем под термином "объект" будем понимать программный объект).Традиционный подход: ----------переменнаятип данныхОбъектно-ориентиро-физическийпрограммныйкласс
ванный подход:объектобъектобъектовПри создании объектов программист определяет множество функций, при помощи которых (а точнее, исключительно через которые)над объектом выполняется некоторое допустимое множество операций.
Такие функции должны иметь обязательный параметр - ссылку на текущий объект, для которого они вызываются. Сами функции являются неотъемлимой частью понятия класса объектов, так как они определяют возможные действия над объектами одного и того же типа (то есть класса).Объектно-ориентированные программы можно разрабатывать и с помощью традиционных языков программирования. Рассмотрим пример определения объектов типа "дата" на классическом Си.//------ структура dat - аналог класса объектов "дата" --------typedef struct dat
{
unsigned day;
unsigned month;
unsigned year;
}
DAT;
//----- набор функций для класса объектов "дата" --------------static intmm[] = {31,28,31,30,31,30,31,31,30,31,30,31};
//----- Проверка на корректность -----------------------------intTestData(p)
DAT*p;
{
if (p->month ==2 && p->day==29 && p->year %4 ==0) return(1);
if (p->month ==0 || p->month >12 ||
p->day ==0 || p->day >mm[p->month])
return(0);
return(1);
}
//------ Следующая дата ----------------------------------------voidNextData(p)
DAT*p;
{
p->day++;
if (p->day month]) return;
if (p->month ==2 && p->day==29 && p->year %4 ==0) return;
p->day=1;
p->month++;
if (p->month !=13) return;
p->month=1;
p->year++;
}
//------- Следующая дата через n дней --------------------------voidPlusData(p,n)
DAT*p;
intn;
{
while (n-- !=0) NextData(p);
}
//------- Основная программа ---------------------------------
void main()
{
DAT a;
do
{
scanf("%d%d%d", &a.day, &a.month, &a.year);
}
while(TestData(&a) ==0);
PlusData(&a, 17);
}
//--------------------------------------------------------
Фактически определение класса объектов как типа данных и известного набора функций для выполнения операций над переменными
- 1
- 2
- 3
- . . .
- последняя »
Похожие работы
Тема: ВВЕДЕНИЕ В ОБЪЕКТНОЕ ПРОГРАММИРОВАНИЕ |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Лекция) |
Тема: Субъекты и объекты религиозного сознания. Субъект-объектное отношение религиозного отражения |
Предмет/Тип: Религиоведение (Реферат) |
Тема: Субъекты и объекты религиозного сознания. Субъект-объектное отношение религиозного отражения |
Предмет/Тип: Культурология (Реферат) |
Тема: Собственность как социальная технология |
Предмет/Тип: Социология (Курсовая работа (т)) |
Тема: Технология как порождение культуры |
Предмет/Тип: Культурология (Реферат) |
Интересная статья: Быстрое написание курсовой работы