Método free dentro de create
Esto es una curiosidad que tengo:
¿Se podría llamar al método free dentro del constructor create?
Imaginaros que tengo que crear una clase, y que su constructor recibe un parámetro pero que en el caso de que no sean correcto lanze una excepción y salga del constructor. Si par<0 ¿qué valor recibe myclassvar?. ¿Hay alguna forma de asignar a myclassvar nil sin utilizar una función adicional? Gracias. |
Al método create no se le debe pasar parámetros, solamente aquel que necesite para crearse el objeto. Ese valor "par" lo puedes incluir como una propiedad del componente..
Precisamente la comprobación de si par es mayor que cero, lo debería hacer el programa principal, no tu clase. Respecto a tu duda, creo que no existe nada, porque estas "saltándote" la filosofía POO. Edito:
Saludos. |
Según nos cuenta la ayuda de Delphi:
Cita:
Aunque personalmente me gusta mas el modelo que plantea Lepe. |
Pues eso no lo sabía, gracias por el apunte seoane. Aunque no creo que esté pensado para abusar de ello.
¿Qué sentido tiene enviar a crear algo si podemos omitir ese tiempo de creación? Es lo mismo que las excepciones: - Puedes dejar que ocurran sin más: StrToInt(''); - O puedes prevenirlas usando otras técnicas StrToIntDef, TryStrToInt, etc. En este caso yo primero preguntaba:
Saludos |
Bueno, ojeando la vcl se pueden encontrar varios ejemplos:
aquí se puede ver que se lanzan exepciones, yo lo que quería saber es si hay alguna alternativa a
|
La franja horaria es GMT +2. Ahora son las 19:42:03. |
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