Autor |
Mensaje |
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Clase Estática
Un módulo es un buen ejemplo de una clase estática.
No se puede instanciar, las variables guardan valores que no cambian después de su uso y cumple con el patrón singleton.
Es exactamente igual usar un módulo que una clase declarada con "create static" al principio, por lo que pensé que lo más ilustrativo era compararlo con un módulo.
¿Tiene o no tiene utilidad un módulo en OOP? Claro que sí, sólo que muchos la usan para lo que no fue del todo concebido, como aglutinar variables globales y esas cosas impropias de la OOP...
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#11 Jueves, 25 Febrero 2016, 21:31 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Clase Estática
En cambio Python sigue siendo sencillo
+1 Shell
shordi se volvió al Pythonismo ?
|
#12 Jueves, 25 Febrero 2016, 21:41 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Clase Estática
Jesús:
Citar:
Un módulo es un buen ejemplo de una clase estática.
Lo cierto es que es calcado.
Citar:
No se puede instanciar, las variables guardan valores que no cambian después de su uso y cumple con el patrón singleton.
En cuanto al patrón singleton, el ejemplo de Julio estoy deseando de verlo.
Al final hice el ejemplo para gambas, similar al de C++ ( usando otro nombre de variable ).
Eso de que en Python que se pueda usar el mismo identificador es lioso. Por eso no puede hacer
bien el ejemplo de la clase "criatura" que anteriormente había hecho en Python y quería convertirlo a gambas
En Python, como se define la clase en el ejemplo del vídeo.
class Demo():
dato = 1
def mostrar(self):
print ('self.dato =', self.dato)
print ('Demo.dato =', Demo.dato)
Y en Gambas.
Public Sub Main()
Dim objeto1, objeto2 As Demo
objeto1 = New Demo(11)
objeto2 = New Demo(22)
objeto1.Mostrar()
objeto2.Mostrar()
Demo.dato = -1
objeto1.Mostrar()
objeto2.Mostrar()
End
Salida:
Citar:
Objeto.dato = 11
Demo.dato = 1
Objeto.dato = 22
Demo.dato = 1
Objeto.dato = 11
Demo.dato = -1
Objeto.dato = 22
Demo.dato = -1
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Jueves, 25 Febrero 2016, 21:55; editado 1 vez
|
#13 Jueves, 25 Febrero 2016, 21:53 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Clase Estática
En cambio Python sigue siendo sencillo
+1 Shell
shordi se volvió al Pythonismo ?
Aaarrggghhh!!! ¡Mi reputación! Te enviaré a mis abogados con una demanda de un millón de euros, más o menos.
=================== No podemos regresar
|
#14 Jueves, 25 Febrero 2016, 22:45 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Clase Estática
shordi se volvió al Pythonismo ?
Te enviaré a mis abogados con una demanda de un millón de euros, más o menos.
No es fundado lo que dices, porqué la mia fue una pregunta, no una afirmación.
|
#15 Jueves, 25 Febrero 2016, 23:56 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Clase Estática
Ok. Ego absolvo pecatus tuis.
=================== No podemos regresar
|
#16 Viernes, 26 Febrero 2016, 06:14 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Clase Estática
Ok. Ego absolvo pecatus tuis.
....Deo gratias !
|
#17 Viernes, 26 Febrero 2016, 10:51 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Clase Estática
Estáis "fatá!".
Vuott:
Lo interesante del vídeo, es que hace lo mismo para distintos lenguajes. No solo para Python.
Se ven similitudes entre los distintos lenguajes yyyy..como ves,en C++ y C# es más complicado.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Viernes, 26 Febrero 2016, 13:07; editado 1 vez
|
#18 Viernes, 26 Febrero 2016, 13:07 |
|
|
|