Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Концепция объектно-ориентированной технологии





 

В конце 80-х популярность завоевала методика ОО-проектирования и программиро-вания: языки Object Pascal, Eiffel, Object C, C++ и др. В этих языках класс – это также АТД, но более полноценный тип. Пример описания класса «стек символов» на С++:

 

class stack

{

// скрытая часть: инкапсулированные данные

int size; // размер

char* top // верх

char* bottom // дно

public: // интерфейс объектов класса stack

stack (int); // конструктор

~stack; // деструктор

void push (char);

void pop();

}

Вопрос 5.

 

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

 

ОО-технология улучшает качество ПП, а именно:

· Ясность, понятность, обозримость проекта и кода. Разрыв между понятиями предметной области и элементами программы сокращается: объекты имеют прототипы в реальности. Код может быть короче в 1.5-2 раза из-за наследования (общие свойства разделяются родственными объектами). Сокращается пространство имен: полиморфные методы имеют несколько реализаций.

· Корректность (безошибочность) - благодаря инкапсуляции и статическому контролю классов как типов объектов.

· Повторное использование библиотек классов лучше, чем библиотек подпрограмм. Вопрос 6.

 

ОО-технология хорошо соответствует нисходящей и инкрементальной стратегии разработки; раздельная компиляция описаний классов и их реализаций способствует раннему обнаружению ошибок сопряжения.

Объектная структура ПП хорошо соответствует архитектуре распределенных систем, где естественна множественная реализация методов на разных машинах.

 

Недостаток ОО-программ - потери эффективности по времени из-за:

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

- динамического порождения и уничтожения объектов, что дороже статического

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

 

ОО парадигма не ограничивается программированием приложений. Другие сферы:

1. Многооконные среды (MS Windows, X/Window для Unix): объекты - окна, методы - способы манипуляции ими, атрибуты (данные) - графические стили, наследование - дочерние окна наследуют атрибуты родительских.

2. Операционные системы (NextStep, Taligent): объекты - ресурсы ОС (такие, как память или файлы).

3. ОО базы данных (OpenODP, UniSQL) - нужны для данных со сложной структурой и неоднородных (много типов, но мало экземпляров) - мультимедиа, САПР, геоинформационные системы, базы знаний. Данные хранятся вместе с методами их семантической интерпретации, нужными для поиска и отображения (вывода).

 

Date: 2016-05-25; view: 395; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию