Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лек_1_слайды_об_ор_проект.doc
Скачиваний:
1
Добавлен:
17.11.2019
Размер:
124.93 Кб
Скачать

1. Предпосылки возникновения объектно-ориентированного подхода

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

1984 г версии 3.0, дистрибутив 37 Кб вместе со всеми необходимыми библиотеками (включая возможность работы с графикой).

Delphi 3.0, дистрибутив 100 Мб.

Т.е. размер программы вырос примерно в 2700 раз за 15 лет.

особенности:

  • во-первых, размер дистрибутива растет в геометрической прогрессии,

  • во-вторых, в геометрической прогрессии сокращаются сроки между появлением новых версий.

Сроки разработки сверхбольших программных систем сократились до одного года.

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

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

Этапы жизненного цикла по

  • стратегическое планирование;

  • анализ требований;

  • проектирование (предварительное и детальное);

  • кодирование (программирование);

  • тестирование и отладка;

  • эксплуатация и сопровождение.

3. Концепции объектно-ориентированного подхода к разработке больших программных систем.

объектно-ориентированный анализ - методология разработки систем, предложенная Йорденом,

объектно-ориентированное проектирование, объектно-ориентированное программирование, реализованное в многочисленных компиляторах C++, Object Pascal, Borland Pascal, Smalltalk.

Основополагающие принципы:

    инкапсуляция - такое свойство при котором объекты содержат описание атрибутов и действий одновременно,

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

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

Инкапсуляция

Объект, обладающий свойством инкапсуляции характеризуется следующими параметрами:

  • уникальное имя,

  • набор атрибутов - данных, характеризующих состояние объекта,

  • набор действий (методов) для смены своих состояний, т.е. для описания своего поведения.

    Рассмотрим характерное описание объекта:

объект:

точка

атрибуты:

позиция на плоскости

методы:

создать

удалить

переместить в новую позицию

отобразить

стереть

объект:

прибор

атрибуты:

показания

методы:

снять показания

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

Мы не говорим "переместить (объект)", а говорим "объект переместись".

Наследование

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

Рис. Пример наследования свойств вида "является".

    Наследование вида "является" предполагает, что объект-наследник полностью включает в себя все свойства объекта-родителя.

    Другой вид наследования - сборочный, вида "состоит-из" можно продемонстрировать на примере автомобиля

    Рис.Пример наследования свойств вида "состоит - из"

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

Пусть имеется два объекта:

объект:

геометрическая фигура

атрибуты:

позиция на плоскости

методы:

создать

удалить

переместить в новую позицию

отобразить

стереть

объект:

прямоугольник

атрибуты:

высота

ширина

методы:

создать

отобразить

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

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