Интерполяционный полином Лагранжа
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: шпаргалки на телефон, отцы и дети сочинение
| Добавил(а) на сайт: Рубанов.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
. объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект;
. взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта;
. объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий, представляют собой класс однотипных объектов.
С точки зрения языка программирования класс объектов можно
рассматривать как тип данного, а отдельный объект – как данное этого типа.
Определение программистом собственных классов объектов для конкретного
набора задач должно позволить описывать отдельные задачи в терминах самого
класса задач (при соответствующем выборе имен типов и имен объектов, их
параметров и выполняемых действий).
Таким образом, объектно-ориентированный подход предполагает, что при разработке программы должны быть определены классы используемых в программе объектов и построены их описания, затем созданы экземпляры необходимых объектов и определено взаимодействие между ними.
Понятия объекта и класса тесно связаны. Тем не менее, существует важное
различие между этими понятиями. Класс – это абстракция существенных
характеристик объекта. Класс – описание множеств объектов, которые
разделяют одинаковые свойства, операции, отношения и семантику (смысл).
Любой объект – просто экземпляр класса. Различают внутренне представление
класса (реализацию) и внешнее представление (интерфейс).
Значительное увеличение сложности задач, решаемых с помощью компьютеров, приводит к увеличению размеров и сложности программ, что порождает трудности при их разработке и отладке. Рассмотрение любой сложной системы требует применения техники декомпозиции – разбиения на составляющие элементы. Известны две схемы декомпозиции: алгоритмическая декомпозиция и объектно-ориентированная декомпозиция.
В основе алгоритмической декомпозиции лежит разбиение по действиям –
алгоритмам. Эта схема представления применяется в обычных программных
средствах. Объектно-ориентированная декомпозиция обеспечивает разбиение по
автономным лицам – объектам реального (или виртуального) мира. Эти лица
(объекты) – более «крупные» элементы, каждый из них несет в себе и описания
действий, и описания данных.
Объектно-ориентированное представление программного средства основывается на принципах абстрагирования, инкапсуляции, модульности и иерархической организации. Каждый из этих принципов не нов, но их совместное применение рассчитано на проведение объектно-ориентированной декомпозиции. Это определяет модификацию их содержания и механизмов взаимодействия друг с другом.
Аппарат абстракции – удобный инструмент для борьбы со сложностью реальных систем. Создавая понятие в интересах какой-либо задачи, мы отвлекаемся (абстрагируемся) от несущественных характеристик конкретных объектов, определяя только существенные характеристики. Абстрагирование сводится к формированию абстракций. Каждая абстракция фиксирует основные характеристики объекта, которые отличают его от других видов объектов и обеспечивают ясные понятийные границы. Абстракция концентрирует внимание на внешнем представлении объекта, позволяет отделить основное в поведении объекта от его реализации. Абстракцию удобно строить путем выделения обязанностей объекта.
Инкапсуляция и абстракция – взаимодополняющие понятия: абстракция выделяет внешнее поведение объекта, а инкапсуляция содержит и скрывает реализацию, которая обеспечивает это поведение. Инкапсуляция достигается с помощью информационной закрытости. Обычно скрываются структура объектов и реализация их методов. Инкапсуляция является процессом разделения элементов абстракции на секции с различной видимостью. Инкапсуляция служит для отделения интерфейса абстракции от ее реализации.
В языках С++, Object Pascal, Ada 95 абстракция классов и объектов формируют логическую структуру системы. При производстве физической структуры эти абстракции помещаются в модули. В больших системах, где классов сотни, модули помогают управлять сложностью. Модули служат физическими контейнерами, в которых объявляются классы и объекты логической разработки.
Модульность определяет способность системы подвергаться декомпозиции на
ряд сильно связанных и слабо сцепленных модулей. Общая цель декомпозиции на
модули: уменьшение сроков разработки и стоимости программного средства за
счет выделения модулей, которые проектируются и изменяются независимо.
Каждая модульная структура должна быть достаточно простой, чтобы быть
полностью понятной. Изменение реализации модулей должно проводиться без
знания реализации других модулей и без влияния на их поведение.
Определение классов и объектов выполняется в ходе логической
разработки, а определение модулей – в ходе физической разработки системы.
Эти действия сильно взаимосвязаны, осуществляются итеративно. Допустим, в
Ada 95 мощным средством обеспечения модульности является пакет.
Прекрасным дополнением к предыдущим принципам является иерархическая
организация – формирование из абстракций иерархической структуры.
Определением иерархии в проекте упрощаются понимание проблем заказчика и их
реализация – сложная система становится обозримой человеком. Иерархическая
организация задает размещение абстракция на различных уровнях описания
системы.
Двумя важными инструментами иерархической организации в объектно- ориентрованных системах являются:
1. структура из классов(«is a»-иерархия);
2. структура из объектов(«part of»-иерархия).
Чаще всего «is a»-иерархическая структура строится с помощью
наследования. Наследование определяет отношение между классами, где класс
разделяет структуру или поведение, определенные в одном другом (единичное
наследование) или в нескольких других (множественное наследование) классах.
Другая разновидность иерархической организации – «part of»-иерархическая
структура – базируется на отношении агрегации. Агрегация не является
понятием, уникальным для объектно-ориентированных систем. Например, любой
язык программирования, разрешающий структуры типа «запись», поддерживает
агрегацию. И все же агрегация особенно полезна в сочетании с наследованием:
агрегация обеспечивает физическую группировку логически связной структуры, а наследование позволяет легко и многократно использовать эти общие группы
в других абстракциях.
Рассмотрим более пристально объекты – конкретные сущности, которые существуют во времени и пространстве.
Объект – это конкретное представление абстракции. Объект обладает
индивидуальностью, состоянием и поведением. Структура и поведение подобных
объектов определены в их общем классе. Термины «экземпляры класса» и
«объект» взаимозаменяемы.
Индивидуальность – это характеристика объекта, которая отличает его от всех других объектов.
Состояние объекта характеризуется перечнем всех свойств объекта и текущими значениями каждого их этих свойств. Объекты не существуют изолированно друг от друга. Они подвергаются воздействию или сами воздействую на другие группы. Поведение характеризует то, как объект воздействует на другие объекты (или подвергается воздействию) в терминах изменений его состояния и передачи сообщений. Поведение объекта является функцией как его состояния, так и выполняемых им операций. Говорят, что состояние объекта представляет суммарный результат его поведения. Операция обозначает обслуживание, которое объект предлагает своим клиентам. Возможны пять видов операций клиента над объектом:
1) модификатор (изменяет состояние объекта);
2) селектор (дает доступ к состоянию, но не изменяет его);
Рекомендуем скачать другие рефераты по теме: баллов рефераты, 7 ответов.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата