Inicio de sesión

RSS

Distribuir contenido

En línea

En este momento hay 1 usuario y 1 invitado en línea.

Los interfaces y la Herencia Múltiple en Java

Autor: Error 500 - www.error500.net

Un interface es parecido a una clase abstracta en Java , pero con las siguientes diferencias:

  • Todo método es abstracto y público sin necesidad de declararlo. Por lo tanto un interface en Java no implementa ninguno de los métodos que declara.
  • Las varibles del interface serán las variables miembro de la clase.
  • Un interface se implementa (implements) no se extiende (extends) por sus subclases.
  • Una clase puede implementar más de un interfaz en Java, pero sólo puede extender una clase. Es lo más parecido que tiene Java a la herencia múltiple, que de clases normales está prohibida.
  • Podemos declarar variables del tipo de clase del interfaz, pero para inicializarlas tendremos que hacerlo de una clase que lo implemente.

Así, por ejemplo, podemos declarar el siguiente interfaz en Java:

interface Figura{
int area();
}

y una clase que lo implementa:

public class Cuadrado implements Figura {
int lado;
public Cuadrado (int ladoParametro) {
lado = ladoParametro;
}
public int area(){
return lado*lado;
}
}

Más adelante podemos:

public class PruebaInterfaz{
public static void main(String args[]){
Figura figura=new Cuadrado (5);
//Podemos crear una referencia de interface(variable r) y que un objeto que pertenezca
// a una clase que la implementa le sea asignada a la variable
System.out.println(figura.area());
}

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <i> <b> <h2> <h3> <tt> <blockcode>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • Saltos automáticos de líneas y de párrafos.
  • Every instance heading tags will be modified to include an id attribute for anchor linking.
  • Se pueden agregar imágenes a este envío.
  • Every instance of "<!--tableofcontents-->" in the input text will be replaced with a collapsible mediawiki-style table of contents. Accepts options for title, list style, minimum heading level, and maximum heading level as follows: <!--tableofcontents list: ol; title: Table of Contents; minlevel: 1; maxlevel: 3;-->. All arguments are optional and defaults are shown.

Más información sobre opciones de formato


Publicidad