Programación orientada a objetos (POO) en php
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í.
[…] vamos a utilizar este patrón de diseño, es importante conocer también cómo funciona POO (programación orientada a objetos). En nuestro caso, utilizaremos el lenguaje de programación […]
[…] esta publicación podrás ver ejemplos de […]