A que me refiero con esto... imagínate que tienes dos clases:
Código Delphi
[-]TVariable=class
public
miVariable : string;
end;
TPropiedad=class
private
FmiVariable : string
published
property miVariable : string read FmiVariable write FmiVariable;
end;
Como puedes ver las dos clases hacen lo mismo:
Código Delphi
[-]var
Variable : TVariable;
Propiedad : TPropiedad;
...
begin
Variable.miVariable := 'Hola variable';
Propiedad.miVariable := 'Hola propiedad';
end;
y podría parecer que es más cómodo al principio usar la clase
TVariable en vez de de la clase
TPropiedad pues "hay que escribir menos".
Sin embargo dejamos de lado el presente y avanzamos al futuro... ahora nos damos cuenta que queremos mostrar un mensaje de error si el valor del campo
miVariable es una cadena vacía.
Desde la primera aproximación tenemos dos formas, bien verificamos fuera de la clase el valor introducido o bien añadimos un método que valide el texto introducido y en ambos casos recorremos nuestro código en busca de todas las veces que modificamos el valor de
miVariable para añadir los cambios.
Sin embargo, si hemos usado propiedades el resultado podría quedar algo así:
Código Delphi
[-]TPropiedad=class
private
FmiVariable : string
published
property miVariable : string read FmiVariable write setTexto;
end;
donde
setTexto sería la función que nos valida el texto introducido.
Espero que este ejemplo te ayude a explorar más detenidamente el tema de las propiedades.