Programación orientada a objetos con PHP (II), la palabra this.

palabra this en Programacion orientada a objetos

 

Programación orientada a objetos (POO) con PHP (II), la palabra clave ‘this’.

En la Programación Orientada a Objetos, hay ocasiones en las que resulta útil referirse al objeto desde el que se está ejecutando un método.

En esas ocasiones se puede usar la referencia especial de objeto this, pero siempre dentro de un método no estático.

Esta referencia se suele usar para pasar una referencia al objeto actual como un parámetro para otros métodos.

En el primer tutorial de esta serie , aprendimos cómo agrupar el código relacionado con un tema determinado en una sola clase.

Como ejemplo, escribimos una clase Coche que agrupa el código que maneja automóviles.

Creamos dos objetos fuera de la clase para poder usar su código.

 

Utilizando la palabra clave $ this

La palabra clave $this indica que usamos los propios métodos y propiedades de la clase, y nos permite tener acceso a ellos dentro del alcance de la clase.

La palabra clave $this nos permite acercarnos a las propiedades y métodos de la clase desde dentro de la clase utilizando la siguiente sintaxis:

  • Solo la palabra clave $ this comienza con el signo $ , mientras que los nombres de las propiedades y métodos no comienzan con ella.

 

Vamos a ilustrar lo que acabamos de decir en la clase Coche . Habilitaremos el método hola() para que se acerque a las propiedades de la clase usando la palabra clave $this .

Para acercarse a la propiedad $comp usamos:

Para acercarse a la propiedad $color  usamos:

 

Así es como se ve el código:

 

Creemos dos objetos de la clase:

 

y establezca los valores para las propiedades de clase:

 

Ahora podemos llamar al método hola() para el primer objeto de automóvil:

 

Resultado:
Beep Soy un BMW y soy azul .

Y para el segundo objeto del auto.

 

Resultado:
Beep Soy un Mercedes Benz , y soy de color verde .

Este es el código que hemos escrito en este tutorial:

 

Self y Parent

A parte de la palabra resrvada this, también disponemos de las palabras self y parent.

Cuando queramos acceder a una constante o método estático desde dentro de la clase, usamos la palabra reservada: self.

Cuando queramos acceder a una constante o método de una clase padre, usamos desde la clase extendida la palabra reservada: parent. Un caso típico es cuando en una clase extendida se sobreescribe el mismo método eliminando las definiciones y cambiando su visibilidad del método de la clase padre,

  • Diferencia entre $this y self::

Uno usa $this para hacer referencia al objeto (instancia) actual, y se utiliza self:: para referenciar a la clase actual.

Se utiliza $this->nombre para nombres no estáticos y  self::nombres para nombres estáticos.

 

Conclusión

Hemos aprendido cómo usar la palabra clave $this para obtener las propiedades y métodos de la clase desde dentro de la propia clase. 

En el próximo post trataremos el encadenamiento de métodos y propiedades.

Compartir esta entrada.
 Visita mis aplicaciones 

Deja un comentario

Tu dirección de correo electrónico no será publicada.

CAPTCHA ImageChange Image