mais j'apprends la programmation et après la programmation structurée avec le langage Pascal, je commence à apprendre sur la POO avec Delphi.Différence entre les modificateurs d'accès "strict private" et "protected" dans Delphi?
Alors, je ne comprends pas vraiment la différence entre l'instruction strict private
et le protected
un .. Donc, voici mon code, il est sur une création « sac », il est juste l'introduction de ma leçon de Delphi, professeur nous montre comment nous pouvons créer des objets:
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;
Donc c'est juste un exemple de création d'objet; Je comprends ce qu'est la déclaration publique (interface accessible par l'extérieur) mais je ne vois pas quelle est la différence entre les déclarations privées et protégées .. Merci d'essayer de m'aider ..
Ce n'est pas un bogue, c'est un comportement attendu et la VCL l'utilise un peu. –
C'est pourquoi j'ai écrit "bug" :-) C'est comme cela que fonctionne Delphi, mais ce n'est pas une OOP standard. –
Alors, qui a défini ce qu'est la "POO standard"? Je ne savais pas qu'il y avait un comité de normalisation de la POO. La POO définit simplement un paradigme centré sur l'encapsulation, l'héritage et le polymorphisme. Il n'y a pas de règle stricte (jeu de mots) sur la façon dont les modificateurs d'accès doivent être implémentés. Pour mieux clarifier, les règles d'accès implémentent une "amitié" implicite au niveau de l'unité sans ajouter de syntaxe explicite pour le faire. –