Всем привет.
Что-то не могу понять... Хочу скрыть published/public свойство, объявленное в базовом классе. В производном классе переношу его в секцию private/protected — ничего не меняется — свойство остается доступным клиентам производного класса.
type
TBase = class
private
FMember: Integer;
public
property Member: Integer read FMember;
end;
TDerived = class(TBase)
private // protected
property Member;
end;
// ...
var
D: TDerived;
begin
Writeln(D.Member); // Здесь хочу ошибку компиляции
Получается, что можно только "повышать" область видимости?
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde