Plantilla:PHP/Estatico

Métodos static Vs no static

 * En php la idea de static, es igual que en cualquier lenguaje de programación.
 * Cuando un elementos (atributo o método), es estático, ese elemento es compartido por todos los objetos de la clase, y persiste en memoria con su contenido mientras haya un objeto de esa clase.
 * Como no es un elemento de cada objeto, sino de todos los objetos de una clase, también se le suelen llamar atributos o métodos de la clase.
 * Como no es de la clase para acceder a él necesitamos nombrar la clase. En php se puede hacer suando el operador self o incluso el propio nombre de la clase


 * Es un ejemplo típico tener un atributo static que cuente cuantos objetos hay de una clase.
 * Miramos la siguiente imagen que trata de ilustrar como al crear objetos se instancian en memoria
 * Cuando añadimos un elemento estático, solo habrá una copia en memoria y es compartida por todos los objetos de la clase
 * Vemos el código y como se accede al elemento


 * El uso
 * La salida

Primero como siempre conviene recordar cómo se hacen
 * Vamos a implementar las operaciones en un Racional.
 * Sumar


 * Restar


 * Multiplicar


 * Dividir


 * Si la operación la implemento como un método no estático lo que estaría haciendo es sumar al objeto acutual, otro objeto Racional que pasamos como argumento. Puedo modificar el objeto acutal como resultado de la suma, o devolver otro objeto Racional que sería lo mas correcto
 * Para usarlo
 * La salida


 * Si la operación la realizo como un método estático lo que estaría haciendo es sumar dos objetos Racionales, devolviendo un nuevo objeto de tipo Racional Vamos


 * Para usarlo
 * La salida