Interfaz

Solo disponible en BuenasTareas
  • Páginas : 5 (1099 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de febrero de 2012
Leer documento completo
Vista previa del texto
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 logica del comportamiento de los métodos.

Ventajas
    El uso de interfaces proporciona las siguientes ventajas: Organizar la programación (IAJU). Obligar aque 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 public o no existir, siendo entonces pordefecto package. Los atributos que definamos en el cuerpo de la interfaz serán atributos de tipo constante en las clases en las que se implemente. Para implementarla en una clase, se utiliza la forma: modificador_acceso NombreClase implements NombreInterfaz1 [, NombreInterfaz2] Una clase puede implementar varias interfaces, separando los nombres por comas.

Ejemplo
Definición de una interfaz:interface Nave { //public static final int VIDA = 100; por definición todos los atributos de una interface son públicos y estáticos // por ese motivo es redundante aunque si se escribe no genera ningún tipo de error final int VIDA = 100; public abstract void moverPosicion (int x, int y); public abstract void disparar(); ..... } Uso de la interfaz definida: public class NaveJugador implements Nave {public void moverPosicion (int x, int y){ //Implementación del método } public void disparar(){ //Implementación del método } ..... }

Herencia (informática)
En orientación a objetos la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases yaexistente (comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.

Es la relación entre una clase general y otra clase más especifica. Por ejemplo: Si declaramos una clase párrafoderivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo. La herencia es uno de los mecanismos de la programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces clase base o clase padre,(a veces se le denomina superclase pero no es muy comun), de manera que extiende sufuncionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.

Ejemplo en Java
public class Mamifero{ private int patas; private String nombre; public void imprimirPatas(){ JOptionPane.showMessageDialog(null," Tiene " + patas + "patas\n","Mamifero",JOptionPane.INFORMATION_MESSAGE); } public Mamifero(String nombre, int patas){ this.nombre = nombre; this.patas =patas; } } public class Perro extends Mamifero { public Perro(String nombre){ super(nombre, 4); } } public class Gato extends Mamifero { public Gato(String nombre){ super(nombre, 4); } } public class CrearPerro { public static void main(String [] args) { Perro perrito = new Perro("Canelita"); perrito.imprimirPatas(); /*Está en la clase mamífero*/ } } Se declaran las clases mamíferos, gato y perro,haciendo que gato y perro sean unos mamíferos (derivados de esta clase), y se ve como a través de ellos se nombra al animal pero así también se accede a patas dándole el valor por defecto para esa especie.

Clase Abstracta
La herencia permite que existan clases que nunca serán instanciadas directamente. En el ejemplo anterior, una clase "perro" heredaría los atributos y métodos de la clase...
tracking img