Rambler's Top100
Структуралист (на главную)  
 

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

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

Объект – это любая физическая или абстрактная четко идентифицируемая сущность. Объект – это общефилософское понятие, которое изучалось философами на протяжении длительного времени.

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

Объект – это экземпляр некоторого класса объектов или просто класса. Таким образом, класс – это абстрактное понятие. Отношение класса и объекта примерно такое же, как платоновские идеи и объекты реального мира.

Классы могут быть связаны друг с другом различными отношениями. Одним из основных таких отношений является отношение класс – подкласс, известный в объектно-ориентированном программировании как наследование. При наследовании все атрибуты и методы родительского класса наследуются классом-потомком.

При объектно-ориентированном анализе и проектирование применяется унифицированный язык моделирования – UML, позволяющий графически представить создаваемую программную систему. Существуют также различные модели процессов создания программного обеспечения, наиболее известными из которых являются унифицированный процесс разработки программного обеспечения (UP/RUP) и методология экстремального программирования – XP. Известно также и много других методологий, например, ICONIX.

Типичными языками, поддерживающими парадигму объектно-ориентированного программирования, являются C++, C# и Java. Помимо объектно-ориентированных бываю объектные (поддерживают инкапсуляцию, но не поддерживают, либо поддерживают не полностью наследование и полиморфизм) и объектно-базированные языки программирования (не имеют механизмов создания пользовательских объектов, но позволяют использовать имеющиеся объекты). Типичным представителем объектных языков программирования является Ada-95, объектно-базированных – JavaScript.

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

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

Материалы на сайте

Литература

  1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Пер. с англ. М.: Бином, СПб.: Невский диалект, 1998.
  2. Буч Г., Рамбо Дж., Джекобсон А. Язык UML. Руководство пользователя. Пер. с англ. М.: ДМК, 2000.
  3. Гамма Э., Хелм Р., Джексон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. Пер. с англ. СПб.: Питер, 2001.
  4. Ларман К. Применение UML и шаблонов проектирования / Пер. с англ. М.: Вильямс, 2002.

Связанные понятия

 

Кто Вы?
Исследователь
Специалист
Управленец
Преподаватель
Студент
Аспирант
Другое
Результаты голосования

©Structuralist 2005-2006
structuralist@narod.ru
Рейтинг@Mail.ru Rambler's Top100
Hosted by uCoz