Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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




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

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

Пример:

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; // } } // конец описания объекта // основная процедура программы Point A(0,0); // создать новый объект и присвоить ему данные For(int i=0;i<100;i++){ // создать цикл A.Draw(); // нарисовать точку A.Hide(); // стереть точку A.Move(i,i*10); // присвоить экземпляру объекта новые данные } // print(A.GetX(),A.GetY()); // получить и напечатать данные объекта

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

 

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

Пример:

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-12-26; Просмотров: 569; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.