Статические методы против виртуальных методов

Цена:
5 руб.

Состав работы

material.view.file_icon
material.view.file_icon bestref-89831.doc
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Это весьма непростой и спорный вопрос. В "чистых" язы-

ках, использующих подход OOP, статические методы не существу-

ют; все методы являются виртуальными. И сторонник "чистого"

подхода OOP мог бы сказать, что все методы в нашей иерархии

объектов должны быть виртуальными именно по той причине, что

виртуальные методы стоят на первом месте. Такой аргумент мож-

но было бы признать справедливым, но еще больше истины в том,

что делать все методы только виртуальными просто непрактично

- по крайней мере, тогда, когда Вы программируете на Turbo

Pascal.

На наш взгляд, имеются два убедительных довода в пользу

того, чтобы везде, где это только возможно, использовать ста-

тические методы. Во-первых, интеллектуальный компоновщик

Turbo Pascal не может отменять неиспользуемые виртуальные ме-

тоды, а только неиспользуемые статические методы; простой акт

ввода объекта данного типа приводит к тому, что в программу

должны быть скомпонованы все виртуальные методы этого объек-

та. И во-вторых, чем больше виртуальных методов имеет объект,

тем обширнее его таблица виртуальных методов VMT: объект,

имеющий 100 виртуальных методов, использовал бы более 400

байт пространства в сегменте данных. В системе Object

Professional нет ни одного объекта, который бы имел так много

виртуальных методов, но если бы все методы были виртуальными,

в ней бы имелся не один такой объект.

Полагая, что из практических соображений невозможно во

всех случаях применять только одни виртуальные методы, мы

стоим на тех позициях, что целесообразно создавать виртуаль-

ные методы только в следующих трех случаях:

а) если мы знаем, что он должен быть отменен объек-

том-потомком,

б) если метод предназначен для того, чтобы быть отменен-

ным, и для этой цели и существует,

в) если в самой природе метода заложена возможность то-

го, что желательно его отменить в объекте-потомке.

Указатели процедур против производных типов.

Еще один концептуально спорный вопрос. Рассмотрим слу-

чай, когда для некоторого объекта необходимо обеспечить

средство, позволяющее программисту передавать такую информа-

цию для объекта, которая не всегда бывает известна на момент

компилирования. Наглядным примером такого объекта является

"PickList" ("Список_Подбора") в модуле OPPICK: он должен

обеспечить средство, которое предоставит Вам возможность "со-

общить" ему, какие элементы имеются в списке подбора.

Сторонник "чистого" метода мог бы сказать, что для реше-

ния этой проблемы следует обеспечить фиктивный виртуальный

метод, который, как предполагается, будет возвращать необхо-

димую информацию, и пусть потом программист создает производ-

ный тип, который отменяет этот метод. Но такой подход порож-

дает две проблемы. Первая заключается в том, что было бы

досадно, если бы КАЖДЫЙ раз, когда возникает потребность ис-

пользовать, например, объект PickList, пришлось создавать

производный тип, особенно в том случае, если все, что Вам

действительно требуется - это написать функцию для восстанов-

ления строки на основе номера элемента. Вторая проблема сос-

тоит в том, что при этом в большинстве случаев исключается

возможность использования одного и того же объекта PickList
Золотий динар - основа економічної незалежності ісламського світу
Проект «золотого (ісламського) динара» , пов'язаний з проблемою повернення до золотого стандарту, тобто грошової системи, при якій готівкові гроші можуть бути вільно обмінені на золото, був запропонований до обговорення в 2001 році малазійським прем'єр-міністром і водночас міністром фінансів доктором Махатіром Мохаммадом (Mahathir Mohamad). Ідея «золотого динара» була вперше висунута членами одного з суфійських братств, Умаром Ибрахимом Вадільо і 'Абд ал-Кадіром ас-Суфі. Таким чином, основополо
User Aronitue9 : 5 ноября 2013
15 руб.
Сопряжения. Вариант 12. Графическая работа №2
Сопряжения. Вариант 12. Графическая работа №2 Графическая работа №2. Сопряжения На листе чертежной бумаги формата А4 или А3 вычертить контур технической детали с построением сопряжений и других геометрических построений. Нанести размеры. Чертеж выполнен на формате А4 (все на скриншотах показано и присутствует в архиве) выполнены в компасе 3D v13, возможно открыть в 14,15,16,17,18,19,20,21,22 и выше версиях компаса. Также открывать и просматривать, печатать чертежи и 3D-модели, выполненные в
User lepris : 24 ноября 2022
80 руб.
Сопряжения. Вариант 12. Графическая работа №2
Контрольная работа №1 - История России. Тема 16 Революция 1917 года
История России. Тема 16 Революция 1917 года 1. Что обозначают эти понятия? Батальоны смерти - общее название для формировавшихся на завершающем этапе Первой мировой войны (1916–1917) частей Русской императорской армии нового типа. 2. Кому принадлежат эти имена? Н.Авксентьев - Николай Дмитриевич Авксентьев русский политический деятель, публицист, мемуарист. 3. Что означают эти названия, с какими событиями связаны указанные географические пункты? "Аврора" - крейсер 1-го ранга Балтийского флота т
User Wolf4 : 16 июня 2025
250 руб.
Экологический бизнес в РФ
Сегодняшняя экологическая ситуация в России и тенденции ее изменения определяются прежде всего характером деятельности экономических объектов. Командная система управления прошлых лет не смогла обеспечить минимизацию воздействия производства на окружающую среду. По данным Государственного доклада "О состоянии окружающей природной среды Российской Федерации в 1997 году" [1], за пятилетний период (1993-1997 годы) средние концентрации типичных для большинства отраслей промышленности загрязняющих ве
User elementpio : 11 марта 2013
up Наверх