Студопедия
Главная страница | Контакты | Случайная страница

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

Билет №12 Основные принципы ООП.

Читайте также:
  1. I. Основные богословские положения
  2. II Основные источники загрязнений гидросферы.
  3. II. Основные положения учения Ф. де Соссюра о языке.
  4. II. Основные теории по анализу международных отношений.
  5. II.1.1 Основные источники информации для оценки эффективности строительной организации
  6. III. Назовите основные последствия прямохождения человека (т.е. изменения в строении, физиологии, поведении) в опорно-двигательной системе.
  7. III. Основные положения лингвистической концепции В. фон Гумбольдта.
  8. III. Основные положения синтетической теории эволюции
  9. III. ОСНОВНЫЕ ПРИНЦИПЫ МАТЕРИАЛИСТИЧЕСКОГО УЧЕНИЯ К. МАРКСА И Ф. ЭНГЕЛЬСА.
  10. III. Принципы взаимодействия государства и других общественных институтов

 

При объектно-ориентированном подходе в качестве основного строительного блока в процессе программирования выступает объект, принадлежащий определенному классу (являющийся экземпляром определенного класса). Идея объектно-ориентированного подхода появилась при проведении исследований в области языков программирования, а впервые была реализована при создании языка моделирования SIMULA, в котором впервые появилось и было использовано в программировании понятие класса объектов. Дальнейшее развитие объектно-ориентированного подхода, вызвавшее достаточно широкий интерес к этому способу программирования, связывают с появлением языка SMALLTALK. Следует отметить важную особенность большинства объектно-ориентированных систем программирования, которые, наряду с объектно - ориентированными средствами, предоставляют программистам возможность процедурно-ориентированного программирования, позволяя гибко сочетать разные подходы в процессе разработки программ. Здесь мы ограничимся рассмотрением только основных принципов объектно- ориентированного программирования. Более полное и детальное описание объектно-- ориентированного подхода можно найти в книге [ 3 ].

Определим ряд основополагающих понятий объектно-ориентированного подхода к проектированию и реализации программного обеспечения.

Объектно-ориентированное проектирование - это методология проектирования, основанная на объектной декомпозиции и приемах представления логической, физической,статической и динамической моделей проектируемого программного обеспечения. При процедурно - - ориентированном походе проектирование основывается на

алгоритмической (процедурной) декомпозиции, которая предусматривает представление некоторого программного модуля P в виде

 

P = W (P1,P2,…,Pn),

где W - функция, реализуемая в соответствующей среде программирования, а P1,P2,…,Pn - модули, из которых строится модуль P. Объектная декомпозиция предполагает, что в качестве элементов P, P1,P2,…,Pn вместо программных модулей фигурируют объекты.

Объектно-ориентированное программирование - это методология программирования, основанная на представлении программ в виде совокупности объектов, каждый из которых является экземпляром определенного класса с наследованием свойств этого класса. Поскольку во многих современных объектно-ориентированных системах программирования каждый класс может представляться в качестве экземпляра более абстрактного класса, то в этих случаях классы образуют иерархию наследования. Содержательно класс можно рассматривать как некий абстрактный объект, наделяемый свойствами, характерными для некоторого множества объектов. В последнее время появилось достаточно много различных объектно-ориентированных систем про-граммирования, среди которых нибольшую популярность приобрели C++, DELPHI, JAVA, UML. Особое место отводится объектно-ориентированным системам управления базами данных

(СУБД). В отличие от других систем программирования, СУБД представляют эффективные средства для обработки больших информационных структур. По мнению многих разработчиков программного обеспечения именно появление и дальнейшая модификация СУБД спровоцировало широкое внедрение объектно -

- ориентированного подхода. Примерами объектно-ориентированных СУБД, получивших широкое распространение, являются CACHE, VisualFoxpro, MS SQL, JASMINE, ORACLE. С другой стороны

многие современные системы программирования (например такие, как C++), изначально не рассматриваемые в качестве СУБД, снабжа-ются в настоящее время дополнительными средствами обработки баз данных.

Методы - это процедуры и функции, реализующие операции над классами и объектами в объектно-ориентированном программировании.

Основными принципами объектно - ориентированного программирования являются наследование, инкапсуляция и полиморфизм.

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

класс "Компьютер" -> класс "Персональный компьютер"->

класс " Персональный компьютер типа Pentium 4" ->

объект " конкретный персональный компьютер типа Pentium 4

№51175-028-9713636-11440 "

Инкапсуляция - это сокрытие деталей реализации классов и объектов. Можно также рассматривать инкапсуляцию как процесс отделения интерфейса от методов реализации. Если вернуться к примеру с классом "Компьютер", то можно проиллюстрировать инкапсуляцию следующим образом.Основным субъектом, взаимодействующим с этим классом, является пользователь, которому нет необходимости в совершенстве знать внутреннее устройство компьютера. Этот принцип позволяет эффективно модифицировать объектно-ориентированные программы,.

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

К другим принципам, которые, как правило, присущи большинству современных объектно-ориентированных систем относятся следующие.Событийно-управляемое программирование основывается на множестве событий E={ e1, e2, … en } и множестве методов (процедур или функций) P={ p1, p2, … pn }, запускаемых при активизации соответствующих событий. Более детально это можно выразить следующими соотношениями: e1 -> p1, e2 -> p2, …, en -> pn, где активизация события ei предусматривает запуск метода pi (i=1..n). Примерами событий могут быть возникновение какой либо ошибки в процессе выполнении программ, выполнение определенного запланированного условия, выбор элемента меню, активизация командной кнопки, нажатие функциональной клавиши и т.п.. Для описания модели событийно-управляемого программирования идеально подходит теория CSP, представленная в разделе 2.6.

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

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




Дата добавления: 2015-02-16; просмотров: 87 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав