Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2007
miguel867 miguel867 is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
miguel867 Va por buen camino
Herencia

Hola amigos,

Soy nuevo en delphi y tengo un problema sobre herencia.
Tengo una clase padre de la cual hereda una clase hija (subclase). En el constructor de la subclase necesito dar valor a algun atributo de la clase padre. Para ello he intentado hacer:

super.atributo_heredado := valor;

o

self.atributo_heredado := valor;
.....

Pero no funiona.

Alguien me puede ayudar?

Saludos y gracias!!!
Responder Con Cita
  #2  
Antiguo 12-01-2007
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.932
Poder: 27
delphi.com.ar Va por buen camino
Código Delphi [-]
type
  TPadre = class
  protected
    Atributo: Integer;
  end;

  THijo = class(TPadre)
  public
    constructor Create;
  end;


{ THijo }

constructor THijo.Create;
begin
  Atributo := 1;
end;
¿Algo similar a esto estas haciendo?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 12-01-2007
miguel867 miguel867 is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
miguel867 Va por buen camino
Más herencia

gracias!!!

Mi duda ahora es en la clase padre y en la hija tengo dos metodos que se llaman igual.
En el metodo de la hija quiero invocar al metodo del padre... pero tiene argumentos el metodo del padre.
De momento lo que hago es en el metodo de la hija poner la palabra "inherited" xo no sé si es correcto ya que el metodo de la clase padre tiene argumentos. Esos argumentos se los proporciono en la llamada al metodo de la clase hija.

Espero haberme explicado bien. Alguien me puede ayudar?

Saludos!!!
Responder Con Cita
  #4  
Antiguo 12-01-2007
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.932
Poder: 27
delphi.com.ar Va por buen camino
Si es correcto o no, tendríamos que analizar la arquitectura... ¿Cómo llamarlo?.. como bien dices utilizando "iherited" para referirnos a la clase "padre".

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 12-01-2007
miguel867 miguel867 is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
miguel867 Va por buen camino
En la clase padre tengo este constructor:

constructor cl_Socio.create(codigo: integer; nombre: string);
begin
self.codigo_socio := codigo;
self.nombre := nombre;
self.estado := 'socio1';
end;

En la clase hija tengo este constructor

constructor cl_SNoFiable.create(codigo: integer; nombre: string; fecha: tdate);
begin
inherited; // invocacion al create de la clase padre... NO SÉ SI ESTÁ BIEN
self.fecha := fecha; // atributo de la clase hija
self.estado :='SNF1'; // atributo heredado -> en clase padre es protected
end;

Ahora espero haber aclarado bastante.

Saludos!!!
Responder Con Cita
  #6  
Antiguo 12-01-2007
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.932
Poder: 27
delphi.com.ar Va por buen camino
Ahhh...
Código Delphi [-]
inherited Create(codigo, nombre);
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 12-01-2007
miguel867 miguel867 is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
miguel867 Va por buen camino
Gracias!!!

Era lo que necesitaba.

Saludos!!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Herencia... dunia_lv C++ Builder 3 29-05-2006 22:43:00
Problemas con herencia adpa OOP 5 05-02-2006 20:03:31
Herencia de Forms La__X Varios 1 20-01-2006 18:50:24
Herencia vegalisandro OOP 8 15-09-2003 14:30:42
Herencia con FreeReports jmselesan Impresión 1 23-05-2003 14:32:08


La franja horaria es GMT +2. Ahora son las 01:15:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi