inter faz

5
Interfaz (Java) Una interfaz en Java es una colección de métodos abstractos y propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la lógica del comportamiento de los métodos. La principal diferencia entre interface y abstract es que un interface proporciona un mecanismo de encapsulación de los protocolos de los métodos sin forzar al usuario a utilizar la herencia. Ventajas El uso de interfaces proporciona las siguientes ventajas: Organizar la programación. Obligar a que ciertas clases utilicen los mismos métodos (nombres y parámetros). Establecer relaciones entre clases que no estén relacionadas. Uso Java proporciona dos palabras reservadas para trabajar con interfaces: interface e implements . Para declarar una interfaz se utiliza: modificador_acceso interface NombreInterfaz { .... } modificador_acceso puede ser una clase de objetos que nos permite utilizar herencia en abstracción por constante en las clases en las que se implemente. Para implementarla en una clase, se utiliza la forma: modificador_acceso class NombreClase implements NombreInterfaz1 [, NombreInterfaz2] Una clase puede implementar varias interfaces de los paquetes que se han importado dentro del programa, separando los nombres por comas.

Upload: angelbustamante

Post on 29-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

programacion java

TRANSCRIPT

Interfaz (Java)UnainterfazenJavaes una coleccin de mtodos abstractos y propiedades. En ellas se especifica qu se debe hacer pero no su implementacin. Sern las clases que implementen estas interfaces las que describan la lgica del comportamiento de los mtodos.

La principal diferencia entre interface y abstract es que un interface proporciona un mecanismo de encapsulacin de los protocolos de los mtodos sin forzar al usuario a utilizar la herencia.VentajasEl uso de interfaces proporciona las siguientes ventajas: Organizar la programacin. Obligar a que ciertasclasesutilicen los mismosmtodos(nombres y parmetros). Establecer relaciones entre clases que no estn relacionadas.UsoJavaproporciona dos palabras reservadas para trabajar con interfaces:interfaceeimplements.Para declarar una interfaz se utiliza: modificador_acceso interface NombreInterfaz { .... }modificador_accesopuede ser una clase de objetos que nos permite utilizar herencia en abstraccin por constante en las clases en las que se implemente.Para implementarla en una clase, se utiliza la forma: modificador_acceso class NombreClase implements NombreInterfaz1 [, NombreInterfaz2]

Una clase puede implementar varias interfaces de los paquetes que se han importado dentro del programa, separando los nombres por comas.Ejemplo Definicin de una interfaz: interface Nave { public void moverPosicion (int x, int y); public void disparar(); ..... } Uso de la interfaz definida: public class NaveJugador implements Nave { public void moverPosicion (int x, int y) { //Implementacin del mtodo posActualx = posActualx - x; posActualy = posActualy - y; } public void disparar() { //Implementacin del mtodo } ... }

Javale permite definir una clase dentro de otra clase. Tal clase se llamaclase anidaday se ilustra aqu:class OuterClass { //clase externa ... class NestedClass { //clase anidada ... }}

Una clase anidada es un miembro de su clase contenedora y, como tal, tiene acceso a otros miembros de la clase contenedora, incluso si se declaran privados. Como un miembro deOuterClass, una clase anidada puede declararseprivate,public,protected, oprivada alpaquete. (Recuerde quelas clasesexterioressolamente pueden declararsepublicoprivadas alpaquete.)Terminologa:Las clasesanidadas se dividen en dos categoras: estticas y no estticas.Las clasesanidadas que se declaranstaticsellaman simplementeclases estticas anidadas.Las clasesno estticas anidadas sellamanclases internas.class OuterClass { //clase externa ... static class StaticNestedClass { //clase esttica anidada ... } class InnerClass { //clase interna ... }}

Por qu Usar Clases Anidadas?Hay varias razones importantes para usar clases anidadas, entre estas: Es una forma de agrupar clases lgicamente que solo se usan en un lugar. Incrementa a la encapsulacin. Las clasesanidadas pueden conducir a cdigo ms legible y mantenible.Variable de instanciaEnprogramacin orientada a objetos, unavariable de instanciao miembro de dato es unavariableque se relaciona con una nicainstanciade unaclase.Cada vez que se crea unobjeto, el sistema crea una copia de todas las variables que estn vinculadas con dicha clase, hacindolas propias de esa instancia. Solamente se puede acceder a ellas a travs del identificador del objeto.Estas variables son declaradas fuera del cuerpo de los mtodos y dentro del de la clase por lo tanto son de tipoglobal. Por lo tanto, pueden ser utilizadas por cualquier mtodo no esttico de dicha clase.mbito (programacin)En el caso deprogramacin orientada a objetos(POO), una variable global dentro de una clase es llamadavariable de instancia, y cada objeto creado con esa clase tiene una. Adicionalmente existen variables globales que son comunes a un todos los objetos creados con una clase y son llamadasvariables de clase.Hay dos tipos de alcances, el esttico que tambin es llamado lexicogrfico, donde el alcance se determina en tiempo de compilacin, mientras que las variables de alcance dinmico se verificara en el hilo de ejecucin.Ejemplo en Java[editar]public class A { public Integer numeroEntero = new Integer(); /* Variable Global a todos los Mtodos */ public Integer metodo() { int num = 1; // Variable Local a metodo. Puede accederse dentro de este mtodo en cualquier parte, pero no fuera del mismo. for (int i = 0;i