Sie sind auf Seite 1von 19

La Programacin Orientado a

Objetos

Introduccin a la Programacin Orientado


a Objetos (POO).

Significado de Orientado a Objetos


-El significado de Orientado a Objetos nace como un
conjunto de practicas que definen un estilo de
programacin.
- Los seres humanos perciben el mundo como si estuviera
formado por objetos: mesas, sillas, computadoras, coches,
cuentas
bancarias,
etc.
Donde
conciente
o
inconscientemente tienden a organizarlos, clasificarlos,
relacionarlos entre si, y hasta extraen las caractersticas
ms importantes dependiendo de lo que quieren hacer con
ellas.

Las clases y los objetos estn en todas


partes
Figura
Vehculo

Animal

Clases

Concepto
Generalmente, una clase se puede definir como una
descripcin abstracta de un grupo de objetos, cada uno
de los cuales tiene una serie de atributos, un estado
especfico y es capaz de realizar una serie de
operaciones.

Atributos
Operaciones
Comportamiento

Lavadora
marca
modelo
capacidad...
Programar
PonerRopa
CerrarPuerta
Lavar

Objetos

Concepto:
Un objeto, no es ms que una instancia de una clase. La
instancia de una clase significa definir un objeto
dndole valores a sus atributos y comportamiento, y
realizando operaciones permitidas por la clase.

Valores de los
atributos
Estado
Identidad

ID:Lavadora
marca=Lapava
capacidad=5
estado=enjuagando

Programacin Orientada a
Objetos

Definicin:
La POO es un estilo de programacin, donde todos los
elementos que forman parte del problema se conciben
como objetos, definiendo cuales son sus atributos y
comportamiento, como se relacionan entre s y como estn
organizadas.
Estructura Interna de un Objeto:
Atributos: Define el estado del objeto
Mtodos: Define el comportamiento del objeto

Terminologa de la POO

Clase
Objeto
Atributos
Mtodos
Instancia
Abstraccin
Encapsulamiento
Modularidad
Jerarqua
Generalizacin

Herencia
Asociacin
Agregacin
Polimorfismo
Constructor
Destructor
Miembro Pblico
Miembro Privado
Miembro Protegido

Terminologa de la POO

Abstraccin: La abstraccin es la capacidad


que permite representar las caractersticas
esenciales de un objeto sin preocuparse de las
restantes caractersticas (no esenciales).

Encapsulamiento: Es la propiedad que


permite asegurar que los aspectos externos de
un objeto se diferencie de sus detalles
internos.

Terminologa de la POO

Modularidad: La modularidad es la propiedad


que permite dividir una aplicacin en partes
ms pequeas ( llamadas mdulos ), cada una
de las cuales debe ser tan independiente como
sea posible de la aplicacin en si y de las
restantes partes.

Jerarqua: Es una clasificacin u ordenacin


de las abstracciones.

Terminologa de la POO

Generalizacin: Una clase que comparte


atributos y mtodos similares con otras clases
se le llama superclase o clase padre. Cuando
definimos
una
clase
padre
estamos
generalizando.

Herencia: Del mismo modo, cuando definimos


una clase a partir de una clase padre estamos
creando una subclase. La definicin de una
subclase se le denomina herencia.

Terminologa de la POO

Asociacin: Una asociacin es una relacin


semntica entre objetos. Cuando un objeto
accede a los atributos y mtodos de otro objeto
estamos definiendo una asociacin entre ellos.

Agregacin: La agregacin es una relacin que


define que un objeto es parte de otro objeto.
Cuando definimos que un objeto tiene como
atributo otro objeto decimos que es una
agregacin. A travs de la agregacin se definen
objetos compuestos.

Terminologa de la POO

Polimorfismo: Es el mecanismo de definir un


mismo mtodo en varios objetos de diferentes
clases
pero
con
distintas
formas
de
implementacin.

Constructor: Es un mtodo que se invoca


cuando un objeto es construido

Destructor: Es un mtodo que se invoca


cuando un objeto es destruido.

Terminologa de la POO

Miembro Pblico: Atributo o mtodo de una


clase que puede ser accesado desde cualquier
parte del programa.

Miembro Privado: Atributo o mtodo de una


clase que puede ser accesado solo dentro de
esa clase.

Miembro Protegido: Atributo o mtodo de


una clase que puede ser accesado desde esa
clase y sus clases heredadas.

Definicin de clase en PHP


class NombreClase {
[public | private | protected ] $nombreVariable;
[public | private | protected ] function nombreMetodo($parametros) {
//Cuerpo de la funcin
}
[public | private | protected ] function __construct($parametros) {
//Cuerpo de la funcin
}
function __destruct() {
//Cuerpo de la funcin
}
}

La palabra reservada $this


class NombreClase {
[public | private | protected ] $nombreVariable;
[public | private | protected ] function nombreMetodo_1($parametros) {
//Cuerpo de la funcin;
}
[public | private | protected ] function nombreMetodo_2($parametros) {
$this->nombre_variable = valor;
$this->nombreMetodo_1 ($parametros);
}
}

Ejemplo
class clasePersona {
private $nombre;
private $anio_nacimento;
private $edad;
public $estado_civil;
public function __construct($nombre, $anio_nacimiento) {
$this->nombre = $nombre;
$this->anio_nacimiento = $anio_nacimiento;
}
private function calcular_edad($anio_actual) {
$edad = $anio_actual - $this->anio_nacimiento;
return $edad;
}
.
}

Ejemplo
class Persona {
.
public function obtener_nombre() {
return $this->nombre;
}
public function obtener_edad($anio_actual) {
$anio_actual = date(Y,mktime());
$this->edad = $this->calcular_edad($anio_actual);
return $this->edad;
}
}

Construccin y
Manipulacin de Objetos

Creacin de un objeto
$objeto = new NombreClase($parametros);

Acceso a un atributo de una clase


$objeto->variable = valor;

Acceso a un metodo o funcin de una clase


$objeto->nombreMetodo($parametros);

Ejemplo
$persona1 = new clasePersona("Juan", 1983);
$persona1->estado_civil = "soltero;
echo "1) El estado civil de la persona 1 es: ". $persona1->estado_civil . "<br><br>;
$persona2 = new clasePersona("Maria", 1987);
$persona2->estado_civil = "casada;
echo "2) El estado civil de la persona 2 es: ". $persona2->estado_civil . "<br><br>;

echo "3) El nombre de la persona 1 es: ". $persona1->obtener_nombre(). "<br><br>";


echo "4) El nombre de la persona 2 es: ". $persona2->obtener_nombre(). "<br><br>";
echo "5) La edad de la persona 1 es: ". $persona1->obtener_edad(). "<br><br>";
echo "6) La edad de la persona 2 es: ". $persona2->obtener_edad(). "<br><br>";

Das könnte Ihnen auch gefallen