Aquí empiezo una serie de post sobre temas que he aprendido que me resultaron más difíciles o más complicados entenderlos. Pueden servir también para aquellas personas que, por los tecnicismos de los lenguajes de programación, no entiendan estos conceptos. Empezamos por lo básico y vamos avanzando gradualmente. No es un curso, pues solo toco las cosas que tardé en comprender, pero será lo más conciso posible.
Primero, decir que este es un modo de programar muy efectivo, aunque no es necesario programar así para conseguir el mismo resultado.
¿POR QUÉ SE PROGRAMA ORIENTADO A OBJETOS?
A la hora de programar, un elemento clave son las variables, que nos sirven para almacenar datos ya sean números o cadenas de texto. Recordemos que las variables en PHP se escriben así:
$a = 'Hola'; $b = '5';
En el ejemplo, la variable a vale Hola, y la variable b vale 5. Si después mencionamos el nombre de la variable, el programa sabrá que nos referimos al valor que dicha variable tenga asignada.
Si hacemos lo anterior con todos los datos que necesitamos para una web necesitaríamos infinitas variables (como nombre de variable recorreríamos el abecedario varias veces). Para optimizar esto y reducir el trabajo, recurrimos a esta modalidad. Creamos grupos de variables que tienen algún significado en común y nos referimos a ellas de una forma distinta.
CLASES Y MÉTODOS
Pongamos como ejemplo una web sobre un colegio. Pensemos en su estructura: Un colegio tiene claustro (profesores, personal de limpieza, conserje, director…), clases(alumnos), alumnos(nombre, apellidos…).
Una vez establecida la jerarquía y la estructura podemos empezar a programar. Primero crearemos las clases. He aquí la primera:
class claustro{
public $profesor = 'Lucas';
public $personal = 'Pepe';
public $conserje = 'Francisco';
public $director = 'Angel';
//métodos
}
Hemos agrupado cuatro variables en una clase a la que hemos llamado claustro. Observa la palabra public. También se admite private, de eso se habla en otro post.
¿Qué pasa? Hemos creado variables con valores, pero aún no se pueden utilizar o, como se dice, no se han inicializado. Así que en el mismo fichero, a continuación, tenemos que declararlas dentro de una función o método que se llama al programar con objetos. Esta función tiene un nombre concreto; construct, al que le anteponemos dos barras bajas. Ejemplo:
public function __construct($profesor, $personal, $conserje, $director){
$this->profesor = $profesor;
$this->personal = $personal;
$this->conserje = $conserje;
$this->director = $director;
}