При создании класса вы должны назначить его параметры частным переменным класса, чтобы использовать эти частные переменные в других процедурах и функциях класса. Это интенсивный код, так как вы должны определить одну и ту же переменную дважды.
Я пытался использовать параметр конструктора в процедуре того же класса, но он не работал без необходимости
type
WorldObject=class
private
privX, privY, privStartSpriteNum, privEndSpriteNum:word;
privDirection, privTurn:byte;
public
constructor create(x, y, startSpriteNum, endSpriteNum:word; direction, turn:byte);
procedure draw;
constructor WorldObject.create(x, y, startSpriteNum, endSpriteNum:word; direction, turn:byte);
begin
privX:=x;
privY:=y;
privStartSpriteNum:=startSpriteNum;
privEndSpriteNum:=endSpriteNum;
privDirection:=direction;
privTurn:=turn;
end;
procedure WorldObject.draw;
begin
writeLn(privX);
writeLn(WorldObject.x);
end;
Ожидал writeLn (WorldObject.x) для печати значенияИкс. Но получил ошибку: Идентификатор идентификаторов отсутствует, член "х".
Нет ли способа использовать переменные параметров из конструктора, не передавая их в частные переменные?
Спасибо!