Qué es el término Self y cómo usarlo
Artículo por Club Developers · 31 diciembre 2005
3903 vistas
Esquemáticamente a la pregunta ¿quién soy yo?, el término Self responderá yo mismo enviando la referencia de la instancia en curso dentro de un método de su clase.
Selft permite, pues, conocer la instancia en curso y en algunos casos quitar cualquier ambigüedad.
Por ejemplo aquÃ:
nos permite saber si el objeto en curso está o no instanciado antes de hacer una llamada al destructor.
En este caso:
hay una ambigüedad en la propiedad color común a la instancia en curso (Self) y al objeto del with (Canvas.Brush). Self permite saber exáctamente de qué propiedad hablamos.
Selft permite, pues, conocer la instancia en curso y en algunos casos quitar cualquier ambigüedad.
Por ejemplo aquÃ:
delphi
procedure TObject.Free; begin  if Self <> nil then   Destroy; end;
nos permite saber si el objeto en curso está o no instanciado antes de hacer una llamada al destructor.
En este caso:
delphi
with TPaintBox(Sender).Canvas.Brush do  begin   Color := Self.Color;
hay una ambigüedad en la propiedad color común a la instancia en curso (Self) y al objeto del with (Canvas.Brush). Self permite saber exáctamente de qué propiedad hablamos.