Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2017-11-22 | 229 |
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).
|
|
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!