Código Delphi
[-]
type
TClase = class(TClasePadre)
private
procedure MetodoEscritura(const Value: TTipoDeDatos);
function MetodoLectura: TTipoDeDatos;
protected
public
published
property Propiedad: TTipoDeDatos read MetodoLectura write MetodoEscritura;
end;
Bueno ahí tienes básicamente el la sintaxis de la declaración de una propiedad Lectura/Escritura. Si no defines un método de escritura la propiedad es de solo lectura, si no defines el método de lectura, la propiedad es de solo escritura.
Los métodos de lectura, por convención suelen nombrarse como Get+"Nombre de Propiedad", los métodos de escritura con Set. Si tu propiedad puede ser leída directamente de una variable sin ejecutar código, el típico caso:
Código Delphi
[-]
function GetPropiedad: TTipoDato;
begin
Result := FPropiedad;
end;
Puedes definir directamente una variable en el lugar del método de escritura o lectura según corresponda.
Código Delphi
[-]
TCuadrado = class(TObject)
private
FAncho: Integer;
FAlto: Integer;
function GetSuperficie: Integer;
procedure SetAlto(const Value: Integer);
procedure SetAncho(const Value: Integer);
published
property Alto: Integer read FAlto write SetAlto;
property Ancho: Integer read FAncho write SetAncho;
property Superficie: Integer read GetSuperficie;
end;
implementation
function TCuadrado.GetSuperficie: Integer;
begin
Result := FAlto * FAncho;
end;
procedure TCuadrado.SetAlto(const Value: Integer);
begin
if Value <> 0 then
FAlto := Value;
end;
procedure TCuadrado.SetAncho(const Value: Integer);
begin
if Value <> 0 then
FAncho := Value;
end;
Saludos!