1. Elementos POO
    1. Clase
      1. Una clase es un modelo que se utiliza para crear objetos que comparten un mismo comportamiento, estado e identidad. La clase se refiera al código que hay escrito y dentro.
        1. <?php classPersona{ //CuerpodelaClase } ?>
    2. Objeto
      1. Es una entidad provista de métodos o mensajes a los cuales responde (comportamiento); atributos con valores concretos (estado); y propiedades (identidad). El objeto es cuando el código se ejecuta.
        1. $persona = new Persona();
    3. Metodo
      1. Es el algoritmo asociado a un objeto que indica la capacidad de lo que éste puede hacer.
        1. <?php class NombreClase { public $a; private $b; protected $c; public function A($a){ } private function B(){ } protected function C(){ } } ?>
  2. CARACTERISTICAS DE LA POO
    1. Encapsulamiento
      1. Reúne al mismo nivel de abstracción, a todos los elementos que puedan considerarse pertenecientes a una misma entidad.
    2. Herencia
      1. Es la relación existente entre dos o más clases, donde una es la principal (madre) y otras son secundarias y dependen (heredan) de ellas (clases “hijas”)
        1. class NombreDeMiClaseMadre { #... } class NombreDeMiClaseHija extends NombreDeMiClaseMadre { /* esta clase hereda todos los métodos y propiedades de la clase madre NombreDeMiClaseMadre */ }
    3. Polimorfismo
      1. Es la capacidad que da a diferentes objetos, la posibilidad de contar con métodos, propiedades y atributos de igual nombre
        1. class coche { function avanza() { } function para() { } function girar_derecha() { } }
  3. PROPIEDADES EN PHP
    1. Propiedades públicas
      1. Las propiedades públicas se definen anteponiendo la palabra clave public al nombre de la variable.
        1. class Persona { public $nombre; }
    2. Propiedades privadas
      1. Las propiedades privadas se definen anteponiendo la palabra clave private al nombre de la variable
        1. class Persona { public $nombre; private $edad; }
    3. Propiedades protegidas
      1. Pueden ser accedidas por la propia clase que la definió, así como por las clases que la heredan, pero no, desde otras partes de la aplicación.
        1. class Persona { public $nombre; private $edad; protected $pasaporte; }