Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
2017-11-22 | 230 |
5.00
из
|
Заказать работу |
|
|
Основные этапы. Способы конструирования доказательства правильности программ. В ходе лекции будут рассмотрены важнейшие научные исследования, относящиеся к эволюции подходов к математическому моделированию одной из важнейших для объектно-ориентированного подхода к программированию концепций, а именно, наследования.
Прежде всего, будет сформулировано определение наследования.
Затем будет представлен сравнительный анализ путей реализации концепции наследования в языках объектно-ориентированного программирования и в computer science.
При этом будут подробно исследованы особенности формализации концепции наследования посредством диаграмм Х.Хассе и фреймов Н.Руссопулоса.
Особое внимание будет уделено реализации механизмов наследования для объектов языка программирования C#, включая иерархическую организацию классов, а также множественное наследование.
Отображение классов Microsoft.NET в классы языков программирования SML и C# проиллюстрирует практику применения концепции наследования.
Напомним ход эволюции теорий, лежащих в основе современного подхода к наследованию.
Еще в 50-х г.г. прошлого столетия Хельмут Хассе (Helmut Hasse, 1898-1979) предложил использовать диаграммы особого рода для графической интерпретации отношения частичного порядка. Заметим, что позднее диаграммы, открытые ученым, получили название в его автора и стали называться диаграммами Хассе. И по сей день диаграммы Хассе являются наиболее широко распространенной графической формализацией механизма наследования.
Затем, в 1976 году Н.Руссопулос (N.D.Roussopulos) впервые применил фреймовую нотацию для моделирования отношений между объектами тех или иных предметных областей. Ученым было также введено так называемое ISA-отношение частичного порядка, которое адекватно моделирует понятие наследования. Заметим, что обозначение ISA возникло от английских слов “… is a …”?, означающих «… является одним из …» и хорошо иллюстрирует суть понятия наследования на естественном языке.
|
Позднее, в 1979 году, Д.Скотт (Dana S. Scott) сформулировал теорию полных и непрерывных решеток, которая используется в диаграммах потоков данных. Решетка Д.Скотта представляет собой модель частично упорядоченного множества, или, иначе, модель иерархии классов.
Затем, в 1988-90 г.г. учеными Л.Карделли (Luca Cardelli), У.Куком (William R. Cook) и др. была исследована семантика наследования. При этом был построен вариант денотационной семантики, который, как оказалось, адекватно формализовал не только единичное, но и множественное наследование.
Кратко обсудив историю развития концепции наследования и ее формализаций, перейдем к понятийному аппарату.
Под наследованием в дальнейшем будем понимать свойство производного объекта сохранять поведение родительского объекта. Под поведением будем иметь в виду для математического объекта его атрибуты и операции над ним, а для языкового объекта ООП – поля и методы.
Таким образом, применительно к языку программирования концепция наследования означает, что свойства и методы базового класса равно применимы к его производным объектам. Заметим, что дочерний объект не обязательно наследует все без исключения атрибуты и операции родительского, а лишь некоторые из них. Такой подход характерен к как для классов объектов в целом, так и для отдельных их конкретизаций, или, иначе, экземпляров.
Как уже упоминалось в ходе лекции, теоретическая концепция наследования удовлетворительно моделируется посредством отношения (или, точнее, иерархии) частичного порядка. Существует целый ряд формализаций наследования, но наиболее адекватными и концептуально ясными являются графические модели. Среди них следует выделить уже упомянутые ранее подходы: фреймовую нотацию Н.Руссопулоса и диаграмы Хассе.
|
Отношение частичного порядка обладает следующими теоретически интересными и практически полезными свойствами.
Во-первых, оно является рефлексивным, т.е. любой объект языка программирования или формальной модели предметной области находится отношении частичного порядка с самим собой. Формальная запись свойства рефлексивности для отношения частичного порядка выглядит следующим образом:
∀ a: a ISA a.
Другой важной особенностью отношения частичного порядка является транзитивность. Суть транзитивности состоит в том, что если существует цепочка из (трех) объектов, связанных отношением частичного порядка, то первый и последний элементы этой цепочки можно связать тем же отношением. Это свойство гарантирует построение на множестве графа отношения частичного порядка в форме «решетки». Формальная запись свойства транзитивности для отношения частичного порядка выглядит следующим образом:
∀ a,b,c: a ISA b, b ISA c ⇒ a ISA c.
Наконец, еще одним фундаментальным свойством отношения частичного порядка как модели наследования является антисимметричность. Это свойство разрешает наследование только в одном направлении (и запрещает его в противоположном).
Формальная запись свойства антисимметричности для отношения частичного порядка выглядит следующим образом:
∀ a,b: a ISA b ⇒ NOT (b ISA a).
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!