poo

19
La Programación Orientado a Objetos

Upload: alberromero

Post on 16-Nov-2015

213 views

Category:

Documents


0 download

DESCRIPTION

conceptos de programacion orientada a objeto

TRANSCRIPT

  • 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 depracticas que definen un estilo de programacin.

    - Los seres humanos perciben el mundo como si estuviera formadopor objetos: mesas, sillas, computadoras, coches, cuentasbancarias, etc. Donde conciente o inconscientemente tienden aorganizarlos, clasificarlos, relacionarlos entre si, y hasta extraen lascaractersticas ms importantes dependiendo de lo que quierenhacer con ellas.

  • Las clases y los objetos estn en todas partes

    Vehculo

    Animal

    Figura

  • ConceptoGeneralmente, 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.

    Clases

    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 valoresa sus atributos y comportamiento, y realizando operacionespermitidas 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 loselementos que forman parte del problema se conciben comoobjetos, 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 permiteasegurar que los aspectos externos de un objeto sediferencie de sus detalles internos.

  • Terminologa de la POO

    Modularidad: La modularidad es la propiedad que

    permite dividir una aplicacin en partes mspequeas ( llamadas mdulos ), cada una de lascuales 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 ymtodos similares con otras clases se le llamasuperclase o clase padre. Cuando definimos unaclase 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 relacinsemntica entre objetos. Cuando un objeto accede alos atributos y mtodos de otro objeto estamosdefiniendo una asociacin entre ellos.

    Agregacin: La agregacin es una relacin quedefine que un objeto es parte de otro objeto. Cuandodefinimos que un objeto tiene como atributo otroobjeto decimos que es una agregacin. A travs de laagregacin se definen objetos compuestos.

  • Terminologa de la POO

    Polimorfismo: Es el mecanismo de definir unmismo mtodo en varios objetos de diferentes clasespero con distintas formas de implementacin.

    Constructor: Es un mtodo que se invoca cuandoun objeto es construido

    Destructor: Es un mtodo que se invoca cuando unobjeto es destruido.

  • Terminologa de la POO

    Miembro Pblico: Atributo o mtodo de una claseque puede ser accesado desde cualquier parte delprograma. Nota: Cuando se declara una propiedad con lapalabra "var" se considera pblica.

    Miembro Privado: Atributo o mtodo de una claseque puede ser accesado solo dentro de esa clase.

    Miembro Protegido: Atributo o mtodo de unaclase que puede ser accesado desde esa clase y susclases 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 . ";

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

    $persona2->estado_civil = "casada;

    echo "2) El estado civil de la persona 2 es: ". $persona2->estado_civil . ";

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

    echo "4) El nombre de la persona 2 es: ". $persona2->obtener_nombre(). "";

    echo "5) La edad de la persona 1 es: ". $persona1->obtener_edad(). "";

    echo "6) La edad de la persona 2 es: ". $persona2->obtener_edad(). "";