Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
oaip_2 / Курсовая ОАиП.doc
Скачиваний:
96
Добавлен:
27.05.2013
Размер:
204.8 Кб
Скачать

Совместимость объектных типов.

Вследствии применения при ОО – программировании по сравнению с традиционными методами, механизма наследования, правила совместимости для объектов отличаются.

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

Преимущества и недостатки виртуальных методов.

В общем случае рекомендуется делать методы виртуальными. Использование статических методов имеет смысл если требуется получить оптимальную скорость выполнения и использования памяти.

Иногда , при написании программы, точно не известно является метод виртуальным или нет. В этом случае лучше определить его виртуальным, особенно если есть предположение , что метод будет перекрываться кем-либо из потомков, а его код должен быть доступным в дальнейщем.

С другой стороны необходимо помнить , что если у объекта имеются любые виртуальные методы, то для этого объекта в сегменте данных будет создана ТВМ и любой экземпляр этого объекта будет с ней связан. Каждый вызов виртуального метода должен проходить через ТВМ , тогда как статические методы вызываются непосредственно. Хотя просмотр ТВМ весьма эффективен , вызов статического метода все равно более быстр. Если в объекте нет виртуальных методов, то и ТВМ отсутствует в сегменте данных, и программа будет работать быстрее.

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

Заключение

Рассмотрев принципы ОО – программирования, а также виртуальные и статические методы пришел к следующим выводам.

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

При ОО – программировании используют статические и виртуальные методы. Оба этих метода являются «палкой с двумя концами». С одной стороны чтобы получить более быстродействующую и эффективно использующую память программу необходимо пользоваться статическим методом, но с другой стороны чтобы получить гибкость программного обеспечения необходимо пользоваться виртуальным методом при разработке программ.

Литература

  • В.Юров , С.Хорошенко Assembler. Учебный курс.

СПб , Издат-во Питер 1999г.

  • А.Марченко , Л.Марченко Программирование в среде Turbo Pascal 7.0

Киев , Москва , Издат-ва ВЕК+ и Бином Универсал 1998г.

  • А.Колесников, Б. Гинзберг Turbo Pascal 7.0

Киев Издат-во BHV 1997г.

Соседние файлы в папке oaip_2