Форум «Всё о Паскале» _ Теоретические вопросы _ ООП : Private, Public
Автор: klem4 21.08.2006 21:59
Не могу понять одну вещь. Есть некоторый объект :
TObj = object private privateVar : integer; end;
Если описание этого обекта я например запихну в модуль ObjUnit и в программе
uses ObjUnit;
var Obj : TObj;
begin Obj.privateVar := 5; end.
При попытке таким образом работать с переменной privateVar мне вежливо сообщит компилятор, что это невозможно, но при описании типа непосредственно в программе все будет отлично :
type TObj = object private privateVar : integer; end; var Obj : TObj;
begin Obj.privateVar := 5; end.
Почему ?
Автор: volvo 21.08.2006 22:08
Цитата(klem4 @ 21.08.2006 17:59)
Почему ?
Потому, что в Паскале директивы Private/Public работают на уровне модулей.