Паблик Морозов
Материал из Википедии — свободной энциклопедии
Па́блик Моро́зов — в объектно-ориентированном программировании шуточное название класса-потомка, который обеспечивает открытый доступ к закрытым полям класса-предка. Наличие объектов типа «Паблик Морозов» говорит об избыточно закрытой конструкции библиотеки — или даже об инверсии абстракции в ней.
Это название — каламбур, основанный на созвучии ключевого слова public
(паблик), часто означающего открытый доступ к методам и полям класса, и имени пионера-героя Павлика Морозова, известного тем, что он выдал своего отца-кулака.
[править] Пример
Процедура Click
компонента Delphi, вызывающая событие OnClick
, является protected
. Если эту процедуру нужно вызвать для некоторого класса, код для этого выглядит так:
type TControlMorozov = class (TControl); . . . TControlMorozov(AControl).Click;
Определение класса и вызов Click
должны находиться в одном модуле. Если Click
вызывается в нескольких модулях, в каждом из них надо определить TControlMorozov
.