Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
Re: Clase Estática
¿Qué son? Te doy la explicación: Son las clases que son lo que son (Chim-pon).
¿Por qué son lo que son? Pues... esto...
¿Par qué sirven? Pues intenta hacer un
Eso te diría que no se puede instanciar un tipo nativo.
Estoy probando a crear variables estáticas y métodos estáticos en una clase. Aun no he creado un clase estática.
El motivo es que veo que se puede hacer lo mismo con métodos mas sencillos y no usar estos.
Ejemplo. Va contando las instancias de la clase Criatura.
Print"Accediendo al atributo de clase criatura.total" Print Criatura.total'No se ha instanciado ninguna clase
For n = 1 To 3
cria =New Criatura("Criatura "&Str(n))
criaturas.Add(cria) Next
Criatura.status()
Print"Accediendo al atributo de clase a través de un objeto" '..... End
Salida:
Citar:
Accediendo al atributo de clase criatura.total
0
Ha nacido la Criatura 1!
Hola mundo!
Ha nacido la Criatura 2!
Hola mundo!
Ha nacido la Criatura 3!
Hola mundo!
El número total de criaturas es 3
Accediendo al atributo de clase a través de un objeto
En este caso se puede saber el número de criaturas creadas con el número de criaturas almacenadas en el array.
Pero no es esa la idea, la idea es usar Static.
Ya que me soltaría que es estática.
En el fondo todas las instancias comparten ese valor.
Existiendo otras formas. El motivo es, ¿ por que debería usar static ?.
Los métodos estáticos solo valen para acceder a las variables estáticas de la clase.
Parece un tema mas complejo dentro de la programación orientada o objeto.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
Registrado: Septiembre 2013
Mensajes: 158
Edad: 47
Re: Clase Estática
Hola, Shell.
Pues en POO el termino se refiere a la manera en como accedes a funciones o atributos de una clase, que en "desarrolloweb" definen:
Citar:
Ese es el comportamiento normal de los miembros de clase. Sin embargo, los elementos estáticos o miembros de clase son un poco distintos. Son elementos que existen dentro de la propia clase y para acceder los cuales no necesitamos haber creado ningún objeto de esa clase. Osea, en vez de acceder a través de un objeto, accedemos a través del nombre de la clase.
Ahora bien, en clases de PHP la profesora nos entregó una clase "Conexión" en la que tenía funciones para conectar a una bd, desconectarse, enviar querys, saber por ella si había o no filas... Y ella no creaba el ejemplo, accedía por medio de el
nombre_de_la_clase::funcion_o_variable
En el enlace que puse más arriba hay una definición más mejor que la mía.
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
Re: Clase Estática
Citar:
Los métodos estáticos solo valen para acceder a las variables estáticas de la clase.
Parece un tema mas complejo dentro de la programación orientada o objeto.
Imagina que quieres que todas las acciones de impresión solo la controle una clase "encargadoDeImprimir", y que esta clase, se encargue de dar prioridades de impresión a los documentos (por orden de llegada, por importancia, por autor, etc...).
Si haces instancias de la clase "encargadoDeImprimir", se lia la cosa... pero si solo estas permitido usar una instancia (la propia clase "encargadoDeImprimir), los programadores que vayan ampliando el programa, saben que solo pueden usar esta.
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
Re: Clase Estática
Perfecto, el vídeo trata el tema para distintos lenguajes.
Ahora que habéis visto lo mismo en distintos lenguajes. Opinen como se complica el tema en distintos lenguajes.
Sobre todo en C++ y C#.
En cambio Python sigue siendo sencillo y en Java, la verdad es que no parece tan complicado el uso de POO,
no me gusta esos comandos tan largos para imprimir.
En gambas tampoco es complicado. Solo que no he logrado acceder al atributo de clase mediante el objeto en si.
A ver si lo veo mejor.
Por cierto merece mucho la pena los vídeos de este señor. Voy a apuntarme ya a su canal.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Jueves, 25 Febrero 2016, 20:10; editado 2 veces
Fecha y hora actual: Viernes, 29 Marzo 2024, 11:02 • Todas las horas son UTC + 1 Hora
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
Lista de permisos
Lista de permisos
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario