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

Цена:
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
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО 2024 год Ответы на 20 вопросов Результат – 100 баллов С вопросами вы можете ознакомиться до покупки ВОПРОСЫ: 1. We have … to an agreement 2. Our senses are … a great role in non-verbal communication 3. Saving time at business communication leads to … results in work 4. Conducting negotiations with foreigners we shoul
User mosintacd : 28 июня 2024
150 руб.
promo
Задание №2. Методы управления образовательными учреждениями
Практическое задание 2 Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности. Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
User studypro : 13 октября 2016
200 руб.
Особенности бюджетного финансирования
Содержание: Введение Теоретические основы бюджетного финансирования Понятие и сущность бюджетного финансирования Характеристика основных форм бюджетного финансирования Анализ бюджетного финансирования образования Понятие и источники бюджетного финансирования образования Проблемы бюджетного финансирования образования Основные направления совершенствования бюджетного финансирования образования Заключение Список использованный литературы Цель курсовой работы – исследовать особенности бюджетного фин
User Aronitue9 : 24 августа 2012
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
ЗАЧЕТ по дисциплине “Программирование (часть 1)” Билет 2 Определить значение переменной y после работы следующего фрагмента программы: a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a; if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end; if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
User sibsutisru : 3 сентября 2021
200 руб.
Программирование (часть 1-я). Зачёт. Билет №2
up Наверх