7
26/05/2015 1 Sesión Nº 03: Clases abstractas Encapsulamiento e Interfaces PROGAMACION ORIENTADA A OBJETOS Ejemplo de clases abstractas

sesion03_POO.pdf

  • Upload
    po

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

  • 26/05/2015

    1

    Sesin N 03:Clases abstractas

    Encapsulamiento e Interfaces

    PROGAMACION ORIENTADA A OBJETOS

    Ejemplo de clases abstractas

  • 26/05/2015

    2

    Ejemplo

    INTERFACES Es una clase completamente abstracta sin

    implementacin. Se declara con la palabra reservada interface. En la declaracin de interfaces lo nico que puede

    aparecer son las declaraciones de mtodos (sinimplementacin) y/o definiciones constantes.

    Java indica que una clase implementa una interfazusando la palabra reservada implements.

    La clase debe implementar todos los mtodosdefinidos en la interfaz.

    INTERFACES Una interfaz define un tipo de Datos Contenido de una Interfaz.

    Nombre de atributos y visibilidad. Eventuales otras interfaces extendidas Declaracin de mtodos Constantes (Declaradas como static final)

    Una interfaz no provee: Variables de instancia o de clase Implementacin de mtodos

    Son tiles cuando una clase debe usar obkjetos dedistintas clases, pero que operan dela mismaforma.

  • 26/05/2015

    3

    Declaracin de una interfaceinterface nombre_de_interfaz {

    Tipo_de_retorno Nombre_del_metodo1 (lista de parametros);Tipo_de_retorno Nombre_del_metodo2 (lista de parametros);

    ...

    tipo variable_final1 = valor_constante;tipo variable_final2 = valor_constante;...

    }

    Ejemplointerface Animal{

    public void comer();pubic int respirar();

    }

    class Perro implements Animal{

    public void comer(){//definimos cmo come el perro}

    public int respirar(){//definimos cmo respira el perro}

    public String ladrar(){//definimos un mtodo exclusivo del perro}

    }

    11

    Declarar constantes dentro de interfaces:

    interface MiInterfaz{static final int CONST = 12;public void hacerAlgo();

    }

    class MiClase implements MiInterfaz{public void hacerAlgo { CONST = 14; //al llegar a esta lnea aparecer el error}

    }

  • 26/05/2015

    4

    La Herencia mltiple es conocida como Interfaces

    interface Agua{public void lavar();

    }interface Fuego{

    public void encender();}

    public class Elementos implements Agua, Fuego {

    }

    14

    15

    16

  • 26/05/2015

    5

    17

    18

    19

    20

  • 26/05/2015

    6

    21

    Java, como lenguaje orientado a objetos puro que es, implementa laencapsulacin (o encapsulamiento) perfectamente.Este concepto consiste en la ocultacin del estado, o lo que es lomismo, de los datos miembro de un objeto, de forma que slo esposible modificar los mismos mediante las operaciones (mtodos, enJava) definidos para dicho objeto.Cada objeto est aislado del exterior, de forma que la aplicacin alfinal es un conjunto ms o menos extenso de objetos quecolaboran entre s mediante el paso de mensajes entre ellos, esdecir, mediante la invocacin de sus operaciones o mtodos.

    De esta forma, los detalles de implementacin permanecen "ocultos"a las personas que usan las clases, evitando as modificaciones oaccesos indebidos a los datos que almacenan las clases.Adems, el usuario de la clase no se tiene que preocupar de cmoestn implementados los mtodos y propiedades, concentrndoseslo en cmo debe usarlos.

    ENCAPSULAMIENTO

    22

    Suponga que se tiene la clase Persona con atributos protegidoscomo cdigo, nombres y edad

    23

    Para encapsularlos camposseleccione laclase con el botnderechoseleccione laopcin Refactor(Reestructurar) yluego seleccioneEncapsulateFields(Encapsularcampos)

    24

    Y a continuacin selecciones todas los checks para crear los getter y lossetter de las atributos de la clase Persona y presione el boton Refactor

  • 26/05/2015

    7

    25

    Los mtodosgetter y setter secrean al final de laclase y siempre aparecen concomentarios ynote lacaracterstica quelos atributospasaron de serprotegidos aprivados (private)

    26

    Dndoles una mejor distribucin