-
Elementos POO
-
Clase
-
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.
- <?php
classPersona{
//CuerpodelaClase
} ?>
-
Objeto
-
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.
- $persona = new Persona();
-
Metodo
-
Es el algoritmo asociado a un objeto que indica
la capacidad de lo que éste puede hacer.
- <?php
class NombreClase {
public $a;
private $b;
protected $c;
public function A($a){
}
private function B(){
}
protected function C(){
}
}
?>
-
CARACTERISTICAS DE LA POO
-
Encapsulamiento
- Reúne al mismo nivel de abstracción,
a todos los elementos que puedan
considerarse pertenecientes a una
misma entidad.
-
Herencia
-
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”)
- class NombreDeMiClaseMadre {
#...
}
class NombreDeMiClaseHija extends NombreDeMiClaseMadre {
/* esta clase hereda todos los métodos y propiedades de
la clase madre NombreDeMiClaseMadre
*/
}
-
Polimorfismo
-
Es la capacidad que da a diferentes objetos,
la posibilidad de contar con métodos,
propiedades y atributos de igual nombre
- class coche {
function avanza() {
}
function para() {
}
function girar_derecha() {
}
}
-
PROPIEDADES EN PHP
-
Propiedades públicas
-
Las propiedades públicas se definen
anteponiendo la palabra clave public
al nombre de la variable.
- class Persona {
public $nombre;
}
-
Propiedades privadas
-
Las propiedades privadas se definen
anteponiendo la palabra clave private
al nombre de la variable
- class Persona {
public $nombre;
private $edad;
}
-
Propiedades protegidas
-
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.
- class Persona {
public $nombre;
private $edad;
protected $pasaporte;
}