Está en la página 1de 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. 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>";

También podría gustarte