Interfaces Y Métodos Abstractos
Enviado por TheBlueFireball • 27 de Noviembre de 2012 • 512 Palabras (3 Páginas) • 346 Visitas
Interfaz
Una interfaz en Java representa una clase abstracta en su totalidad, es decir, todos y cada uno de los métodos que esta contiene son abstractos (se declaran en ella sin cuerpo, utilizando solo “();”). El único tipo de variables que esta puede contener son de tipo “static”, y “final”. Solo se limitan a representar o indicar la presencia de métodos para realizar, pero jamás pueden especificar las acciones que estos llevan a cabo. Una interfaz no puede ser instanciada debido a la imposibilidad de materializar algo que proviene de la abstracción, pero sí es posible implementarlas, es decir, llevar a otra clase sus métodos para que en ellas sea posible su especificación dependiendo de lo que se quiera hacer en esa clase con dicho método.
Algo que tenemos muy en cuenta es que una subclase solo puede heredarse de una superclase, pero una de las ventajas que las interfaces brindan es que al no considerarse propiamente clases, permiten que otras implementen cada uno de los métodos que estas contienen, gracias a eso, las clases no quedan limitadas solo a las acciones que brinda su clase madre, si no que pueden tornar referencia a muchas otras que otorga cada interfaz distinta. Las interfaces a diferencia de ser instanciadas, se hace referencia a ellas por medio de la sentencia “ïmplements”.
Por ejemplo:
public interface Trabajador{
public void trabajar();
}
public class Carpintero implements Trabajador{
int sueldo;
public void trabajar(){
System.out.println(“Estoy trabajando”);
Sueldo+=1;
}
}
Como se ve en el ejemplo, la clase carpintero utiliza el método de la clase trabajador al implementarla cuando es creada, las interfaces y sus métodos siempre son públicos, los declaremos así o no.
Métodos abstractos:
Son métodos en los cuales no se especifica su funcionamiento porque las clases por medio de las cuales son creados no los implementan, es decir, métodos que carecen de cuerpo y por ende de código en este, los métodos abstractos son creados por clases abstractas y/o interfaces.
Cuando existen clases en las que una acción se utiliza de forma diferente a lo largo de su herencia puede utilizarse un método abstracto, es decir, un método declarado en una superclase de manera abstracta que solo especificará su presencia, y que se implementará en las subclases de manera distinta según sea el caso.
Cabe destacar que una subclase debe implementar los métodos abstractos brindados por su clase madre, o volver a declararlos como abstractos, convirtiéndose así en una clase abstracta también. Además de eso, cada método abstracto debe declararse así antes de especificar su tipo.
Por ejemplo:
public abstract class Figura(){
public double base;
public
...