Vous êtes sur la page 1sur 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
permite dividir una aplicacin
pequeas ( llamadas mdulos ),
cuales debe ser tan independiente

la propiedad que
en partes ms
cada una de las
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. Nota: Cuando se declara una propiedad con la
palabra "var" se considera pblica.

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);//instanciacin
$persona1->estado_civil = "soltero;
echo "1) El estado civil de la persona 1 es: ". $persona1->estado_civil . "<br><br>;

$persona2 = new clasePersona("Maria", 1987); //instanciacin


$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>";

Vous aimerez peut-être aussi