Curso de PHP. Volumen XVI : Final y static

Escrito por Jalths
Manuales
0

Es miércoles, eso es sinónimo de que hoy toca ver continuar con el Curso PHP ¿no?, vamos con ello.

Antes de empezar, os recordamos que tenéis una página con todos los artículos (para que no os perdáis). Curso PHP Online.

En este volumen vamos a ver dos palabras reservadas muy relacionadas con las clases, final y static.

A continuación tenéis el volumen de hoy.

Empecemos por la parte de FINAL.

La palabra final , nos permite hacer que un método no pueda ser sobrescrito por una clase que hereda de ella (clase hija).

También nos hace posible definir una clase final, de la cual no se podrá heredar.

Vamos a ver un ejemplo:

¿Ha sido fácil no?, esto es todo sobre final.

Vamos ahora con STATIC.

Static nos permite crear métodos los cuales no necesitan una instancia de clase para ser llamados, estos métodos se llaman estáticos.

También se nos permite crear atributos static que no podrán ser accedidos desde una clase instanciada pero sí desde métodos estáticos.

Importante: Un método estático no puede acceder a un atributo no estático, es importante simplemente porque es un problema común que puede darnos quebraderos de cabeza.

Dentro de un método para acceder a un atributo (estático), debemos usar el operador self seguido de un :: ($this no está contemplado cuando estamos hablando de métodos estáticos)

self::atributoestatico;

Para llamar a un método estático (sin instanciar la clase), lo que tenemos que hacer es poner el nombre de la clase , seguido de un operador de resolución de ámbito, es decir un :: y el nombre del método.

Nombredelaclase::nombredelmetodo

Para acceder a un atributo, es igual pero con el nombre del atributo.

Ejemplo de clase con métodos estáticos:

Bueno, esto ha sido todo por hoy, ¿corto verdad?, la razón es que este es nuestro último volumen de clases como tal, el resto sobre clases que veamos será en el futuro o en volúmenes dedicados a otras cosas pero que estén relacionadas con las clases o hagan uso de ellas.

Nos vemos el próximo miércoles!!