View
213
Download
0
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: