Autor Tema: [POO][!TUT] Funciones estaticas.  (Leído 3918 veces)

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
[POO][!TUT] Funciones estaticas.
« en: 01 de Julio de 2010, 21:31:43 pm »
Bueno viendo que hay pocos tutoriales en esta seccion, ademas de que estoy aburrido me pondre a explicarle que son la funciones estaticas.

Antes de comenzar ustedes deben saber que las funciones o variables estaticas siempre llevan el prefijo de static, ejemplo:
Citar
public static function(){}

Estas funciones son totalmente independientes de la clase aunque tiene las misma funciones que las otras, ademas es que al ser independiente de la clase las variables no se pueden llamar al menos que sean estaticas tambien o que se instancie la clase.

Para llamar a las variables estaticas desde dentro de la clase lo hacemos con self (Para los que no saben, self devuelve el nombre de la clase actual) & el nombre de la variable, ejemplo:
Citar
self::miVariable

Una particularidad que tienen estas funciones esque pueden ser llamadas sin instancear la clase, cosa que ayuda mucho al programador en algunos casos, yo por mi parte siempre lo uso en clases para hacer consultas mysql o clases para conectar con la bd. Ejemplo:
Citar
nombredelaClase::nombreFuncion();

Para llamar a una variable desde fuera de la clase hacemos lo mismo que hicimos con la funcion, ejemplo:(Que conste que la variable debe ser publica)
Citar
nombredelaClase::nombreVariable;

Ejemplo de funcion estatica:
Citar
class PHPeros {
public static miNombre;

public static function miNombre($name){
self::miNombre = $name;
}

<?PHP
PHPeros::miNombre('Focux');
echo 'Mi nombre es '.PHPeros::miNombre;
?>

Espero que hayan entendido todo, trate de explicarlo lo mejor posible, ahorita coloco otro tutorial sobre las clases.
« Última modificación: 01 de Julio de 2010, 21:33:17 pm por Focux »
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Comunidad PHPeros

[POO][!TUT] Funciones estaticas.
« en: 01 de Julio de 2010, 21:31:43 pm »

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[POO][!TUT] Funciones estaticas.
« Respuesta #1 en: 01 de Julio de 2010, 22:22:07 pm »
Existirá entonces también el "virtual"?

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:[POO][!TUT] Funciones estaticas.
« Respuesta #2 en: 01 de Julio de 2010, 22:29:45 pm »
¿Virtual?
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[POO][!TUT] Funciones estaticas.
« Respuesta #3 en: 01 de Julio de 2010, 23:42:50 pm »
¿Virtual?
Es que la primera vez que oí hablar de funciones estáticas, fue cuando programaba en Java y C++. Y según recuerdo, en C++ también están las funciones "virtual".

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:[POO][!TUT] Funciones estaticas.
« Respuesta #4 en: 01 de Julio de 2010, 23:43:27 pm »
Es que la primera vez que oí hablar de funciones estáticas, fue cuando programaba en Java y C++. Y según recuerdo, en C++ también están las funciones "virtual".
Ahh xdd pero no, no hay funciones virtuales.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>