pero aprendo la programación y después de la programación estructurada con lenguaje Pascal, estoy empezando a aprender acerca de OOP con Delphi.Diferencia entre modificadores de acceso "estrictamente privados" y "protegidos" en Delphi?
lo tanto, no entiendo muy bien la diferencia entre la instrucción strict private
y la protected
uno .. Así que aquí es mi código, se trata de una creación "bolsa", es sólo la introducción de la lección que mi de Delphi, profesor nos muestran cómo podemos crear objetos:
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;
Así que es solo un ejemplo de creación de objetos; Entiendo lo que es declaración pública (interfaz accesible por el exterior) pero no veo cuál es la diferencia entre las declaraciones privadas y las protegidas .. Gracias por intentar ayudarme ...
Eso no es un error, es el comportamiento esperado y el VCL lo usa bastante. –
Es por eso que escribí "error" :-) Es la forma en que funciona Delphi, pero no es un OOP estándar. –
Entonces, ¿quién definió qué "OOP estándar" es? No sabía que había alguna placa de estándares OOP. OOP simplemente define un paradigma centrado en la encapsulación, la herencia y el polimorfismo. No existe una regla estricta (juego de palabras) sobre cómo se implementarán los modificadores de acceso. Para aclarar mejor, las reglas de acceso implementan una "amistad" implícita a nivel de unidad sin agregar sintaxis explícita para hacerlo. –