3
 Universidad Tecnológica de El Salvador Programación Orientada a Objetos Ing. José Oswaldo Barrera Montes ACCESO A MIEMBROS Y HERENCIA. En este tema haremos un breve repaso de los modificadores de visibilidad, esta vez aplicados a la herencia. Debido que  public ya lo aplicamos en los ejercicios resueltos del tema anterior, no haremos mención de él en este apartado. Veremos un poco el modificador private y  protecte d , este último utilizado en herencia. También abordaremos la palabra reservada final . Protected. El modificador de visibilidad  protected  fue abordado brevemente en el tema ocho de la segunda unidad, aquí nuevamente hacemos mención de él. Cuando en una clase se define un método o atributo como  protected , este puede ser utilizado por cualquier otra clase de su mismo paquete y además, por cualquier subclase de ella, independientemente del paquete en que esta se encuentre. Por eso decimos que  protected  proporciona acceso público para las clases derivadas y acceso privado para aquellas que se encuentre en un paquete distinto. Una clase no debe nunca definirse como protected, solo sus miembros. Debido que, para probar el completo funcionamiento de este modificador necesitamos leer y practicar el tema de paquetes, el cual no es parte del programa, me limito a darles una referencia de internet en donde se explica cómo trabajar con ellos, luego de haberlo comprendido usted puede aplicar el modificador protected. Puede consultar el tema de paquetes desde este sitio en internet o desde cualquier referencia: http://www.chuidiang.com/java/novatos/hola_mundo_paquetes.php  Private. Respecto a este modificador ya se ha mencionado que todo miembro definido como privado tiene restringido su acceso desde cualquier otra ubicación que no sea su clase (en la cual se definió), pero surge la pregunta ¿Y qué sucede con ellos en la herencia? La respuesta podrá variar dependiendo del autor, pero al final llegan a un mismo punto; algunos sostienen que los miembros privados no se heredan; otros en cambio, que sí se heredan, pero que no son visibles desde la subclase; como sea, prevalece el principio que un miembro  private no puede ser visible fuera de la clase en la cual se creó. Para este modificador se realizaron algunos ejer cicios en el momento que se abordó.

2. Acceso a Miembros y Herencia

Embed Size (px)

DESCRIPTION

2. Acceso a Miembros y Herencia

Citation preview

  • Universidad Tecnolgica de El Salvador

    Programacin Orientada a Objetos Ing. Jos Oswaldo Barrera Montes

    ACCESO A MIEMBROS Y HERENCIA.

    En este tema haremos un breve repaso de los modificadores de visibilidad, esta vez

    aplicados a la herencia. Debido que public ya lo aplicamos en los ejercicios resueltos del

    tema anterior, no haremos mencin de l en este apartado. Veremos un poco el

    modificador private y protected, este ltimo utilizado en herencia. Tambin abordaremos

    la palabra reservada final.

    Protected. El modificador de visibilidad protected fue abordado brevemente en el tema ocho de la

    segunda unidad, aqu nuevamente hacemos mencin de l.

    Cuando en una clase se define un mtodo o atributo como protected, este puede ser utilizado por

    cualquier otra clase de su mismo paquete y adems, por cualquier subclase de ella,

    independientemente del paquete en que esta se encuentre. Por eso decimos que protected

    proporciona acceso pblico para las clases derivadas y acceso privado para aquellas que se

    encuentre en un paquete distinto. Una clase no debe nunca definirse como protected, solo sus

    miembros.

    Debido que, para probar el completo funcionamiento de este modificador necesitamos leer y

    practicar el tema de paquetes, el cual no es parte del programa, me limito a darles una referencia

    de internet en donde se explica cmo trabajar con ellos, luego de haberlo comprendido usted

    puede aplicar el modificador protected.

    Puede consultar el tema de paquetes desde este sitio en internet o desde cualquier referencia:

    http://www.chuidiang.com/java/novatos/hola_mundo_paquetes.php

    Private. Respecto a este modificador ya se ha mencionado que todo miembro definido como privado tiene

    restringido su acceso desde cualquier otra ubicacin que no sea su clase (en la cual se defini),

    pero surge la pregunta Y qu sucede con ellos en la herencia? La respuesta podr variar

    dependiendo del autor, pero al final llegan a un mismo punto; algunos sostienen que los

    miembros privados no se heredan; otros en cambio, que s se heredan, pero que no son visibles

    desde la subclase; como sea, prevalece el principio que un miembro private no puede ser visible

    fuera de la clase en la cual se cre.

    Para este modificador se realizaron algunos ejercicios en el momento que se abord.

  • Universidad Tecnolgica de El Salvador

    Programacin Orientada a Objetos Ing. Jos Oswaldo Barrera Montes

    Final. Este modificador es utilizado para definir constantes, las cuales se definen como variables cuyo

    valor no puede ser modificado.

    Una constante se declara anteponiendo la palabra final al tipo de dato, as:

    public final doubl PI=3.1416;

    En herencia, final es utilizado para evitar que una clase sea heredada si antecede su declaracin

    con dicho modificador. Al declarar una clase como final, implcitamente todos sus miembros

    adquieren esa caracterstica, sin embargo, tambin es posible que una clase no se declare final y

    algunos de sus miembros s, en este caso no confundir, ya que las variables y mtodos s se

    heredarn. Un mtodo final no podr sobrescribirse.

    Una clase abstracta no debe declararse como final, pues estn incompletas y dependen de sus

    subclases para ser implementadas.

    Ejercicios:

    De esta clase no ser posible crear herencia:

    Si usted prueba crear una subclase a partir

    de esta y luego intenta implementarlas

    desde otra que tenga el mtodo main se

    dar cuenta que se provoca un error.

  • Universidad Tecnolgica de El Salvador

    Programacin Orientada a Objetos Ing. Jos Oswaldo Barrera Montes

    El mtodo Mensaje no ser posible sobrescribirlo:

    La sobrescritura de mtodos se da en herencia, la cual se define

    como la creacin de mtodos que tienen el mismo formato que el

    definido en la superclase (as como el mostrado en la imagen de

    arriba, con excepcin que este no ser posible sobrescribirlo porque

    lleva asociado a l la palabra reservada final). Al intentar compilar

    dicho ejercicio obtendr un error.

    Si su intencin no es la sobrescritura del mtodo, sino la utilizacin

    de l en la subclase, as como se muestra abajo, observe que el

    mtodo si se ha heredado y es posible su uso: