19th Ave New York, NY 95822, USA
+1 916-875-2235
+1 916-875-2235

Programación orientada a objetos (POO) en php

Ejemplo de una aplicación en PHP utilizando programación orientada a objetos

La programacion orientada a objetos (POO) es un paradigma de programación que usa objetos en sus interacciones, para diseñar aplicaciones y programas informáticos.

Definiciones básicas

Clase
Plantilla a partir de la cual podemos crear objetos. Al definir una clase debemos determinar también qué propiedades y métodos tendrán los objetos que creemos a partir de ella.

Ejemplo:

$altura=175;
$peso=75;
$edad=28;


Métodos de una clase
Son las acciones que puede realizar la clase. Normalmente se escriben con verbos en infinitivo. Normalmente las definiremos como funciones.

$persona->comer();
$persona->andar();
$persona->bailar();


Instancia
Es la forma de definir a un objeto hecho a partir de una clase.

include "Persona.php"; //incluir la clase

$instancia= new Persona(); //crear la instancia


Ahora $instancia es un objeto, a pesar de que parece una variable. Realmente es una instancia de la clase Persona. Por esta razón, ya posee todas las propiedades definidas dentro de la clase y también la capacidad de ejecutar cualquiera de sus métodos. Además en el mismo momento en que creamos la instancia —cuando se ejecuta new—, se ejecuta un método llamado constructor, pero en nuestro caso no lo hemos definido.

Método getter

Podría definirse como una función realmente sencilla que devuelve un valor:

public function getEdad(){
    return $this->edad;
}


Método setter

En este caso sí recibirá un parámetro, que será el que asigne a la propiedad del objeto:

public function setEdad($value){
    $this->edad = $value;
}


 


Ejemplo

En este ejemplo crearemos una clase persona. Tendrá tres propiedades: edad, altura y peso. Además tendrá un método para calcular su índice de masa corporal.

Persona.php

//definir clase 
class Persona{
	public $edad;
	public $altura;
	public $peso;

	//getters
	public function getEdad(){
		return $this->edad;
	}
	public function getPeso(){
		return $this->peso;
	}
	public function getAltura(){
		return $this->altura;
	}


	//setters
	public function setEdad($value){
		$this->edad=$value;
	}

	public function setAltura($value){
		$this->altura=$value;
	}

	public function setPeso($value){
		$this->peso=$value;
	}

	//calcula el IMC accediendo a las propiedades
	public function imc(){
		return $this->peso / ($this->altura * $this->altura);

	}

	//calcula el IMC accediendo mediante los métodos get
	public function imc2(){
		return $this->getPeso() / ($this->getAltura() * $this->getAltura());

	}

}


 

index.php

//incluir la clase
include "Persona.php";

//instaciar la clase 
$maria= new Persona();

//asignar valores a las propiedades del objeto
$maria->setEdad(28);
$maria->setAltura(1.75);
$maria->setPeso(65);


echo "<br/>Edad: ".$maria->edad;
echo "<br/>Altura: ".$maria->altura;
echo "<br/>Peso: ".$maria->peso;
echo "<br/>IMC: ".$maria->imc();


Puedes encontrar más información sobre herencia y modificadores de clases de PHP aquí.