но я изучаю программирование и после структурированного программирования на языке Pascal, я начинаю узнавать о ООП с Delphi.Разница между «строгими частными» и «защищенными» модификаторами доступа в Delphi?
Так что, я не очень понимаю разницу между strict private
инструкцией и protected
один .. Так вот мой код, это о создании «мешок», это просто введение урока моего Делфи, учитель покажет нам как мы можем создавать объекты:
uses
SysUtils;
Type
Tbag= class (Tobject)
strict private
FcontenM : single;
Fcontent : single;
protected
function getisempty : boolean;
function getisfull: boolean;
public
constructor creer (nbliters : single);
procedure add (nbliters : single);
procedure clear (nbliters : single);
property contenM : single read FcontenM;
property content : single read Fcontent;
property isempty : boolean read getisempty;
property isfull : boolean read getisfull;
end;
function Tseau.getisempty;
begin
result := Fcontent = 0;
end;
function Tseau.getisfull;
begin
result := Fcontent = FcontenM;
end;
constructor Tseau.creer(nbliters: Single);
begin
inherited create;
FcontenM := nbliters;
end;
procedure Tbag.add (nbliters: Single);
begin
if ((FcontenM - Fcontent) < nbliters) then fcontent := fcontenM
else Fcontent := (Fcontent + nbliters);
end;
procedure Tbag.clear (nbliters: Single);
begin
if (Fcontent > nbliters) then Fcontent := (Fcontent - nbliters)
else Fcontent := 0;
end;
Так что это всего лишь пример создания объекта; Я понимаю, что такое публичная декларация (интерфейс, доступный снаружи), но я не понимаю, в чем разница между частными и защищенными объявлениями. Спасибо, что пытались мне помочь.
Это не ошибка, это ожидаемое поведение, и VCL использует его совсем немного. –
Вот почему я написал «bug» :-) Так работает Delphi, но это не стандартный OOP. –
Итак, кто определил, что такое «стандартный ООП»? Я не знал, что существует несколько советов стандартов ООП. ООП просто определяет парадигму, сосредоточенную вокруг инкапсуляции, наследования и полиморфизма. Существует не строгое (каламбурное) правило о том, как должны быть реализованы модификаторы доступа. Чтобы лучше разъяснить, правила доступа реализуют неявную «дружбу» на уровне единицы без добавления явного синтаксиса для этого. –