FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
Constructores
Hola. Saludos a todos. Soy nueva en el foro, pero creo que estoy en el sector correcto, disculpen si no. Tengo una duda con respecto a los constructores de delphi. Es necesario declararlos en cada clase? O pueden usarse los Default que heredan de Tobject?. ( O de ser necesario solo en determinados casos,¿ En cuales?).
Yo no declare constructores en ninguna clase, Solo en el programa principal. Algo de este modo.
Pero haciendo esto, no me dio acceso a los componentes ni funciones de la clase. (Estan todas declaradas como public). No tira errores, solo una advertencia de que cree un objeto de la clase, que no se uso. Si alguno puede responderme, se lo agradesco muchisimo!!! Saludos Última edición por Neftali [Germán.Estévez] fecha: 23-11-2011 a las 17:13:22. Razón: Añadir TAG's al código |
#2
|
||||
|
||||
Hola y bienvenida a los foros.
Te recomiendo que revises nuestra Guía de estilo. Para que el código se lea bien, lo mejor es usar TAG's. En cuanto a tu pregunta, una vez creado el objeto de la clase Tclase1, deberías poder acceder a los métodos de esa clase sin problemas:
Estando metodo1 y funcion1 definidos en la clase Tclase1.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Cita:
Podés utilizar el constructor heredado o si necesitas inicializar algo en la creación de la instancia, podes definir el constructor para tu clase. Pero siempre necesitarás crear una instancia de la clase antes de usarla. Un ejemplo muy simple, si tenemos:
Otro caso:
Para eso claro, debemos haber echo con anterioridad:
Espero no haber sido muy enrredado... Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 23-11-2011 a las 17:29:00. |
#4
|
||||
|
||||
Muy Buena informacion sobre los constructores! y muy clara. muchas gracias
|
#5
|
||||
|
||||
Con respecto a esa parte de la pregunta, sigo teniendo el mismo problema . Tengo todo bien definido en la clase. Sin constructores. y al querer usar el constructor default, me crea el objeto, pero no me deja acceder a ningun atributo ni metodo. Pido disculpas por lo del codigo, de ahora en mas usare los TAG's.
|
#6
|
||||
|
||||
Cita:
No entiendo bién lo que te sucede, ¿ Te arroja algún mensaje de error ? ¿ Podrías poner (en líneas generales) el código donde declaras la clase y donde intentas usarla ? Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
No. Ningun mensaje de error. Solo que no me deja acceder a los atributos de la vble. Ahi va el codigo
Esas son las declaraciones de clases y tipos. ( El constructor esta comentado ya que no estaba muy segura de como usarlo ni si era necesario). Muchas gracias |
#9
|
||||
|
||||
En ves de Tobject , tipo tpaqterr, decis vos?
|
#11
|
||||
|
||||
Hola.
Exáctamente. Como te dijo roman, o haces:
O si no, como también te dijo roman:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#12
|
||||
|
||||
Cita:
En el caso, de que quieras o necesites definir la variable como TObject, pero luego la crees de una clase en particular, para acceder a los métodos necesitas hacer un CAST, que es lo que Román te ha mostrado en su mensaje:
También puedes usar esto:
Con eso le decimos al compilador que aunque hemos definido la variable Terrenal de tipo TObject, la queremos utilizar como tipo Tpaqterr (puesto que la hemos creado utilizando esta última clase.).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#13
|
||||
|
||||
Todo funcionando muy bien! Muchas gracias a los 4!
Ahora tengo otra duda. Utilizar un constructor nos libera de utilizar los metodos SetAtributoy GetAtributo? |
#14
|
||||
|
||||
Hola.
Cita:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#15
|
||||
|
||||
Cita:
Un caso típico de usar el constructor, es cuando proporcionas un valor por defecto a una propiedad: Por defecto Delphi inicializará las variables de tipo integer a cero, si queremos que tenga un valor diferente, se suele hacer de esta forma y como ves, tiene poco que ver con los Get y Set. Ahora, al instanciar la clase, se inicializa a 1 la variable privada. Además eso de "liberar de usar" creo no es apropiado, en realidad siempre tienes ventajas al usar el Get y Set porque puedes hacer operaciones adicionales a la simple asignación, de eso se trata....claro. Yo Normalmente empiezo con "read Fvar write Fvar" y al final siempre termino usando, al menos, el Set. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sobrecarga de constructores | vejerf | OOP | 2 | 06-06-2008 12:52:36 |
Como usar los formularios MDI, constructores de componentes | Narlohe | OOP | 3 | 11-12-2006 10:54:10 |
constructores | Dantael | OOP | 2 | 25-01-2004 23:57:50 |
|