Programacion Orientada A Objetos
soda26 de Marzo de 2013
481 Palabras (2 Páginas)390 Visitas
ACTIVIDADES COMPLEMENTARIAS DEL CAPITULO 9
1. Mapa conceptual clases en Java
2. Investigar más sobre anidado de clases y reflexiona sobre cuál es la función importante en java.
Java le permite definir una clase dentro de otra clase. Tal clase se llama
Clase anidada y se ilustra aquí:
class OuterClass { //clase externa
…
class NestedClass { //clase anidada
…
}
}
Una clase anidada es un miembro de su clase contenedora y tiene acceso a otros miembros de la clase contenedora, así se declaran privados. Una clase anidada puede declararse private, public, protected, o privada al paquete, es decir e que las clases exteriores solamente pueden declararse public o privadas al paquete.
Las clases anidadas se dividen en dos categorías: estáticas y no estáticas. Las clases anidadas que se declaran static se llaman simplemente clases estáticas anidadas. Las clases no estáticas anidadas se llaman clases internas.
class OuterClass { //clase externa
…
static class StaticNestedClass { //clase estática anidada
…
}
class InnerClass { //clase interna
…
}
}
Hay varias razones importantes para usar clases anidadas, entre estas:
Es una forma de agrupar clases lógicamente que solo se usan en un lugar. Si una clase es útil solamente a otra clase, entonces es lógico anidarla en esa clase y mantenerlas juntas. La anidación tal como "clases de ayuda" hace sus paquetes más uniformes.
Incrementa la encapsulación.
Considerándose dos clases de nivel superior, A y B, donde B necesita acceso a los miembros de A que de otra forma serían declarados private. Al esconder la clase B dentro de la clase A, los miembros de A pueden declararse privados y B puede accederlos. Además, B en sí mismo puede esconderse del mundo exterior.
Las clases anidadas pueden conducir a un código más legible y mantenible. Anidar clases pequeñas dentro de clases de nivel superior ubica el código más cerca de donde se usa
Clases Estáticas Anidadas:
Como con métodos y variables, una clase anidada estática se asocia con su clase exterior. Y como los métodos estáticos de clase, una clase anidada estática no puede referirse directamente a variables o métodos de instancia definidos en su clase contenedora, puede usarlas solamente a un objeto de referencia.
Las clases estáticas anidadas se acceden usando el nombre de la clase contenedora:
Clase Externa .Clase Estática Anidada
Por ejemplo, para crear un objeto para la clase estática anidada, use esta sintaxis:
ClaseExterna.ClaseEstáticaAnidada objetonidado = new
ClaseExterna.ClaseEstaticaAnidada();
Clases Internas o no Estáticas:
Como con métodos y variables de instancia, una clase interna se asocia con una instancia de su clase contenedora y tiene acceso directo a los métodos y campos de ese objeto. También, ya que una clase interna se asocia con una instancia, no puede definir ningún miembro estático por sí misma.
Los objetos que son instancias de una clase interna existen dentro de una instancia de la clase externa. Considere las siguientes clases:
class OuterClass { //clase externa
...
class InnerClass { //clase interna
...
}
}
...