PHP POO: Clases, atributos, métodos y objetos

Vamos a empezar a trabajar con la programación orientada a objetos en PHP (PHP POO).

Una clase podríamos decir que es un molde con el cual podemos crear infinidad de objetos con características parecidas.
Por ejemplo, concibiendo una clase como un molde podríamos definir la clase Coche:

  • Esta clase será la plantilla o molde para crear nuevos coches.
  • Tendrá atributos o propiedades (lo que conocíamos como variables) y digamos que estos serán cada una de las piezas o características del coche, por ejemplo: nombre, color, modelo, plazas, caballaje, velocidad, etc.
  • Tendrá métodos (lo que conocíamos como funciones), estos serán las acciones que es capaz de hacer el coche, por ejemplo podríamos tener los métodos: arrancar, acelerar, frenar, encenderLuces, cambiarColor, etc. Con los métodos interactuamos con los atributos y si es necesario cambiamos los valores que tienen.

Veamos cómo se crea una clase:

<?php 
// Definimos la clase
class Coche{
	
	// Atributos
	public $color;
	public $modelo = "BMW Generico";
	public $velocidad;
	
	//Métodos
	public function getColor(){

	      // Con el operador $this le decimos que busque el atributo     color en esta clase
		return $this->color;
	}
	
	public function setColor($color){
		$this->color = $color;
	}
	
	public function acelerar(){
		$this->velocidad++;
	}
	
	public function frenar(){
		$this->velocidad--;
	}
	
	public function getVelocidad(){
		return $this->velocidad;
	}
}

Hemos definido la clase coche con sus atributos y sus métodos que modifican los valores de los atributos, ahora vamos a utilizar esta clase para crear un coche:

// Creamos el objeto / Instanciamos la clase
$coche = new Coche();

// Usamos los métodos
$coche->setColor("ROJO");
echo "Color del coche: ".$coche->getColor();

// Le sumamos 3 y le restamos 1 al atributo
$coche->acelerar();
$coche->acelerar();
$coche->acelerar();
$coche->frenar();

echo "<br/> Velocidad actual: ".$coche->getVelocidad();

Lo que estamos haciendo es instanciar la clase o mejor dicho creando un objeto coche(podríamos tener todos los objetos de esta clase que queramos, por ejemplo podríamos tener la variable $coche2 y ahí tener otra instancia de coche) y utilizamos esos métodos para asignar un color al coche y modificar la velocidad del coche.

Ya sabemos crear una clase y sabemos que cualquier cosa podríamos convertirla a un objeto (coche, persona, moto, televisor, usuario, lo que sea) definiendo atributos y métodos.

En una web podríamos tener clases que hicieran múltiples cosas y de esta forma reutilizar mucho más el código.

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post