Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура

Читайте также:
  1. III. СТРУКТУРА КУРСА
  2. V Структура кобаламина схожа со структурой гема гемоглобина
  3. V. Структура курса
  4. XIII. Файловая структура ОС. Операции с файлами
  5. Административная структура
  6. Антигенная структура y. Pestis
  7. Антигенная структура.
  8. Атомная и электронная структура поверхности и межфазных границ
  9. Базовая структура информационной технологии
  10. Банковская система и ее структура.
  11. Белый, серый, высокопрочный, ковкий и легированный чугун, маркировка, структура, свойства и область применения
  12. Биосфера, ее структура и функции



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

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

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

 

Структура объектной модели описывается с помощью трех ключевых понятий:

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

Пример:

Class Point { // вводим новый тип данных - объект "точка"

X,Y : int; // данные объекта - координаты точки

.........

Point(X : int, Y : int); // конструктор объекта - процедура, вызываемая при

// определении переменной на базе объекта и

// присваивающая значения его данным

.........

Draw(); // метод "нарисовать точку"

Erase(); // метод "стереть точку"

Move(newX,newY); // метод "переместить точку" (изменяет данные объекта)

int GetX(); // метод "получить значение поля X"

int GetY(); // метод "получить значение поля Y"

.........

// все методы должны быть описаны, например

// реализация метода Move:

 

Move(newX : int, newY : int) {

X=newX; // запись новых данных в объект

Y=newY; //

}

} // конец описания объекта

 

Begin // основная процедура программы

 

Point A(0,0); // создать новый объект и присвоить ему данные

 

for i=1 to 100 // создать цикл

A.Draw(); // нарисовать точку

A.Hide(); // стереть точку

A.Move(i,i*10); // присвоить экземпляру объекта новые данные

endfor; //

 

print(A.GetX(),A.GetY()); // получить и напечатать данные объекта

 

End.

Из этого примера видно, что мы не можем напрямую обратиться к данным объекта, а должны вызывать метод Move для изменения его данных и GetX, GetY для считывания значений этих данных. Т.е. объект скрывает свою внутренню структуру, именно это свойство и называется "инкапсуляцией".

· наследование : подразумевает возможность создавать из классов объектов новые классы объекты, которые наследуют структуру и методы своих предков, добавляя к ним черты, отражающие их собственную индивидуальность. Наследование может быть простым (один предок) и множественным (несколько предков). Язык С разрешает множественное наследование, Pascal – нет.



Пример:

Class Circle extend Point { // создаем новый объект "окружность", наследующий

// свойства объекта "точка"

Radius : int; // добавляем новое поле "радиус", поля X и Y наследуются

// от родительского объекта

.............

Circle(X:int,Y:int,Radius:int); // конструктор нового объекта

.............

Draw(); // переопределяем некоторые методы

Hide(); // родительского объекта, метод Move наследуется

.............

ChangeRadius(Radius); // вводим новый метод "изменить радиус"

.............

GetRadius(); // вводим новый метод "получить значение радиуса"

// методы GetX и GetY наследуются от родительского

// объекта

}

· полиморфизм : различные объекты могут по разному реагировать на одинаковые внешние события в зависимости от того, как реализованы их методы.

Пример:

Begin

Point A(100,100);

Circle B(200,200,50);

 

A.Draw(); // рисует точку

B.Draw(); // рисует окружность

End.





Дата добавления: 2014-01-07; Просмотров: 79; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Читайте также:



studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ip: 54.159.113.182
Генерация страницы за: 0.005 сек.