Buenas!.
¿ Alguien sabe qué sentido tiene declarar una clase que no puede ser instanciada ?.
Si no puede ser instanciada:
¿ Cómo se usa ?.
¿ Qué función cumple ?.
Saludos
Clase Estática
Objetivo: 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
y verás para qué sirve la clase string...
¿Por qué son lo que son? Pues... esto...
¿Par qué sirven? Pues intenta hacer un
y verás para qué sirve la clase string...
Objetivo: Re: Clase Estática
Shordi:
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.
Salida:
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.
No puedo hacer...
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
Citar:
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.
Public Sub Main()
Dim criaturas As New Criatura[]
Dim cria As Criatura
Dim n As Integer
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
Dim criaturas As New Criatura[]
Dim cria As Criatura
Dim n As Integer
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:
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.
No puedo hacer...
print criaturas[0].total
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
Objetivo: 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:
En este enlace: http://www.desarrolloweb.com/articu...static-poo.html
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.
Saludos...
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:
En este enlace: http://www.desarrolloweb.com/articu...static-poo.html
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.
Saludos...
Objetivo: Re: Clase Estática
Shell:
Es la implementacion del patron singleton ( http://jsbsan.blogspot.com.es/2013/...reando-log.html ).
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.
Saludos
Julio
Es la implementacion del patron singleton ( http://jsbsan.blogspot.com.es/2013/...reando-log.html ).
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.
Saludos
Julio
Objetivo: Re: Clase Estática
Puedes usarla directamente.
Haz una prueba con la Clase Music del Componente gb.sdl2.audio .
Escribe Music y el punto: Music.
No hace falta una su variable.
última edición por vuott el Jueves, 25 Febrero 2016, 21:32; editado 1 vez
Shell escribió: [Ver mensaje]
Puedes usarla directamente.
Haz una prueba con la Clase Music del Componente gb.sdl2.audio .
Escribe Music y el punto: Music.
No hace falta una su variable.
última edición por vuott el Jueves, 25 Febrero 2016, 21:32; editado 1 vez
Objetivo: Re: Clase Estática
Gracias por los enlaces y por la información.
vicr:
Interesante, ya que es teoría general y se puede aprovechar para cualquier lenguaje
Julio:
Ademas del enlace, encontré por fin el manual que hiciste del uso de patrones...276 paginas, casi na!.
Vuott:
Si, en un mensaje ya hace tiempo, estuvimos hablando sobre el uso que tenían esos métodos.
Solo se podía crear uno. Pero no me acuerdo donde....
Esto también puede interesar:
Encontré un vídeo sobre PHP y este, pero no me he fijado en el lenguaje que es...
Link
Ay, la leche si es Python..
( Pues no lo puse intencionadamente )...de veras.
Espero que no hable del tema de decoradores, que es un poco lioso.
Saludos
vicr:
Interesante, ya que es teoría general y se puede aprovechar para cualquier lenguaje
Julio:
Ademas del enlace, encontré por fin el manual que hiciste del uso de patrones...276 paginas, casi na!.
Vuott:
Citar:
Si, en un mensaje ya hace tiempo, estuvimos hablando sobre el uso que tenían esos métodos.
Solo se podía crear uno. Pero no me acuerdo donde....
Esto también puede interesar:
Encontré un vídeo sobre PHP y este, pero no me he fijado en el lenguaje que es...
Link
Ay, la leche si es Python..
( Pues no lo puse intencionadamente )...de veras.
Espero que no hable del tema de decoradores, que es un poco lioso.
Saludos
Objetivo: Re: Clase Estática
última edición por Shell el Jueves, 25 Febrero 2016, 20:10; editado 2 veces
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
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
última edición por Shell el Jueves, 25 Febrero 2016, 20:10; editado 2 veces
Página 1 de 2
No puede crear mensajesNo 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
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.4059s (PHP: -77% SQL: 177%)
Consultas SQL: 47 - Debug off - GZIP Activado