Ver Mensaje Individual
  #1  
Antiguo 19-12-2013
Juanfish Juanfish is offline
Registrado
NULL
 
Registrado: sep 2013
Posts: 4
Reputación: 0
Juanfish Va por buen camino
que tan "privada" es la declaracion private de delphi?

Hola amigos tengo una duda, ultimamente me he puesto a indigar en la programacion orientada a objetos practicando con delphi y con C#, sin embargo encontré algo en delphi que me parecio curioso.

Cuando yo declaro en una clase algún dato de tipo privado, al instanciar esta clase me doy cuenta que tengo acceso todavia a la variable como si fuese publica. Este comportamiento no pasa con C#. Hasta donde yo tengo entendido la declaracion de las variables privadas son de uso exclusivo para la clase donde se encuentra definida.

Anexo un ejemplo:
Código:
  Tperro = class(tobject)
  private
    nombre : string;
  public
    raza   : string;
  end;

.....

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  perro : Tperro;
begin
  perro := Tperro.Create;
  // Deberia realmente tener acceso a nombre
  // que es privado????
  perro.nombre := 'Firu';
end;
Entiendo que si yo creo otra clase que herede de Tperro, la instancia de la clase hijo no va a acceder a las variables privadas del padre.

Pero creo yo que en el ejemplo que coloque se corre el riesgo de que de repente alguien me instancie a la clase TPerro y use la variable "nombre" la cual no me interesa que usen.

Gracias por sus comentarios!
Responder Con Cita