Ils sont tous deux champs avec la même visibilité.
Le mot clé var
est parfois nécessaire lorsque vous déclarez des champs après d'autres déclarations (comme des constantes, des types internes ou même après des méthodes et des propriétés).
Par exemple:
type
TMyClass = class
private
FSomeField: string; //<--- this is a field, here you don't need the var clause
const
SOME_CONSTANT = 1;
OTHER_CONSTANT = 2;
var //<---- here you need the var clause to start declaring fields
FSomeOtherField: string;
end;
Le champ var
est nécessaire dans le second cas (FSomeOtherField
) de charger le compilateur venir maintenant une série de déclarations de champs, mais dans le premier cas, il n'est pas nécessaire pour des raisons historiques , car dans les premières versions de Delphi, vous pouvez simplement déclarer des champs et il n'y avait pas de support pour les types imbriqués ou les constantes.
« Alors toutes les déclarations sur le terrain doivent avoir lieu avant toute déclaration de propriété ou méthode » ... Je voudrais ajouter « dans le même bloc de visibilité ». – jpfollenius
Je pensais qu'il n'y a pas de différence. –