![]() |
método estático
Una pregunta sencilla:
¿Cómo se define en Delphi un método de una función como estático? |
no estoy seguro, pero creo que no se puede.
si quieres un metodo estatico, simplemente declaralo en tu unidad coo un procedimiento normal: Código:
UNIT libreria; |
gracias haron
Lo de implementarlo en forma de funcion normal es la forma en que lo había solucionado, pero no me parecía muy elegante lo de andar mezclando OOP con programación estructurada, por eso quería saber si se puede hacer con un estático. Si es cierto que no se puede hacer, ¿alguién sabe a qué se debe esto? saludos |
Tal ves esto aclare un poco las cosas (del help de delphi):
All methods are static unless you specify otherwise when you declare them. Static methods work like regular procedures or functions. The compiler determines the exact address of the method and links the method at compile time. The primary advantage of static methods is that dispatching them is very quick. Because the compiler can determine the exact address of the method, it links the method directly. Virtual and dynamic methods, by contrast, use indirect means to look up the address of their methods at runtime, which takes somewhat longer. A static method does not change when inherited by a descendant class. If you declare a class that includes a static method, then derive a new class from it, the derived class shares exactly the same method at the same address. This means that you cannot override static methods; a static method always does exactly the same thing no matter what class it is called in. If you declare a method in a derived class with the same name as a static method in the ancestor class, the new method simply replaces the inherited one in the derived class. Saludos ;) |
essattamente.
realmente cuando se declara un metodo dentro de una clase, la referencia a ese metodo es estatica, si quieres que no lo sea tienes que incorporar la directiva 'override', y tambien existe otra que se llama 'overload' y otra que se llama 'reintroduce' y otra que se llama... no me acuerdo, pero hay otra. en definitiva, la programacion en Delphi, sinceramente, no merece un premio por simplicidad. creo que a lo que se referia shaktale es a lo siguiente Código:
TObjeto=class Código:
TObjeto.metodo; esto no se puede hacer en Delphi. esto se puede hacer en Java y aunque algunos creen que va en contra de la OOP si viene muy bien en muchos casos. bueno, como lenguaje, Delphi, cada vez me decepciona mas... |
Cita:
Los métodos que puedes llamar como TObjeto.metodo sí que existen en Delphi pero se llaman métodos de clase y se declaran así: Código:
TMiClase = class Cita:
// Saludos |
No quiero hacer un debate... pero: yo he programado en VC++(donde si se puede hacer un metodo Static), VB , algo en java y obviamente Delphi . (Sin contar ASP y algo de PHP) . Y salvando las obvias diferencias que existen con los lenguajes Web, Delphi me sigue pareciendo ampliamente superior a todos los que probe.
Pero como dice el dicho " nadie es perfecto".... :p |
:o eso me pasa por bocazas.
he estado a punto de poner 'creo que no se puede'. Código:
TMiClase = class de todas formas Java como lenguaje me parece infinitamente mas sencillo que Delphi y creo que deberia tomarse como referencia. creo que le voy a poner los cuernos a Delphi. |
:) ¡Buen día a todos!
En Definitiva Delphi es una de las mejores opciones para programación orientada a objetos, en gran parte porque paradójicamente uno decide que tan orientado a objetos programar: Libertad. Se pueden definir métodos estáticos, virtuales, dinámicos, redefinidos, sobrecargados, clase, constructores, destructores, de lectura y escritura para propiedades, etc: Flexibilidad. La manera en que el compilador genera el código máquina le haría brillar los ojos a Einstein: Potencia. El lenguaje fuente es bastante legible, intuitivo, fácil de memorizar y fácil de teclar: Amigabilidad. Sus herramientas auxiliares, su biblioteca nativa, las ya existentes de otros fabricantes y la posibilidad de crear otras, son un pilar invaluable: Recursos. Hay muchas herramientas de programación que dan libertad, que son flexibles, potentes, amigables y que cuentan con útiles recursos. Sólo que Delphi es una de las pocas que presentan estas cinco características. Espero esto sea de utilidad. Seguimos en contacto. Al González :). |
La franja horaria es GMT +2. Ahora son las 12:23:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi