Область видимости и личные данные
Добавлено: 09.04.2014 15:16:39
Такая нестыковка.
Есть несколько классов, и некоторые поля объявляю в private, но по-прежнему могу обращаться к этим полям из других объектов.
Правильно ли это? Например так.
Есть несколько классов, и некоторые поля объявляю в private, но по-прежнему могу обращаться к этим полям из других объектов.
Правильно ли это? Например так.
program project1;
type
TForm=class;
TLogOn=class;
{ TGrid }
TGrid=class
private
FForm:TForm;
FLogOn:TLogOn;
FBase:String;
public
constructor Create(Form:TForm);
end;
{ TForm }
TForm=class
private
FLogOn:TLogOn;
public
constructor Create(LogOn:TLogOn);
end;
{ TLogOn }
TLogOn=class
private
FBase:String;
public
constructor Create;
end;
{ TLogOn }
constructor TLogOn.Create;
begin
//
end;
{ TForm }
constructor TForm.Create(LogOn: TLogOn);
begin
FLogOn:=LogOn;
end;
{ TGrid }
constructor TGrid.Create(Form: TForm);
begin
FForm:=Form;
FLogOn:=FForm.FLogOn; // доступ к закрытым свойствам, легко!
FBase:=FLogOn.FBase; // здесь, тоже самое, как?
end;
begin
LogOn:=TLogOn.Create;
end.