Ver Mensaje Individual
  #7  
Antiguo 11-01-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.934
Reputación: 27
delphi.com.ar Va por buen camino
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

{ TCuadrado }

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!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 12-01-2006 a las 14:54:25.
Responder Con Cita