Archivo para 8 febrero 2013

08
Feb
13

Propiedades de la P.O.O. (Interfaces)

Una Clase define la manera la que accedemos a los atributos de las instancias (Objectos) de la misma. Ese conjunto de métodos forman la interfaz del Objeto con el mundo exterior; por ejemplo el switch de una lampara es parte de la interfaz del objeto Lampara con el objeto Persona.

En la descripción más básica una interfaz es un conjunto de métodos con cuerpos vacíos que se relacionan entre sí, no puede tener variables solo se permite la declaración de constantes, y de los métodos solo se puede declarar la firma de este [la firma de un método está compuesta por: tipo de dato de retorno | nombre del método | parámetros de entrada]. De las interfaces no se pueden crear instancias pero se pueden crear implementaciones y éstas implementaciones deben describir el cuerpo del método descrito en la interfaz. A demás a las interfaces también se les aplica el principio de la ‘Herencia’, pero en estas existe la figura de herencia multiple, que no existe en la herencia de clases.

Para el ejemplo de Interfaces que se aplicará al ejemplo usando en el código anterior (P.O.O. Herencia)  para continuar con la explicación.

package ingenio.ds.examples;

public class Interfaces{

	public static void main(String argumentos[]){

	}
	/*
	 *En las implementaciones de Mostrable o Acelerable no nos importa
	 *de que clase son los objetos lo único que tenemos en cuenta es q
	 *ue */
	public static void acelerar(AcelerableMostrable instancias[]){
		for(AcelerableMostrable instancia:instancias){
			instancia.mostrar();
			instancia.acelerar(6);
		}
	}
}

/*definición de la interfaz mostrable*/
interface Mostrable{
	/*definición de una constante, debe ser 'static final' por convención se e
	 *scribre el nombre en mayuscula sostenida*/
	public static final boolean ES_MOSTRABLE=true;
	/*definición del método mostrar*/
	public void mostrar();
}

/*definición de la interfaz acelerable*/
interface Acelerable{
	/*definición de una constante, debe ser 'static final' por convención se e
	 *scribre el nombre en mayuscula sostenida y los espacios con '_' */
	public static final double RELACION_ACELERACION=0.2;
	/*definición del método acelerar*/
	public void acelerar(int segundos);
}

/*dentro de las interfaces también existe la figura de la herencia aunque en e
 *estas puede hacerse de manera multiple*/

interface AcelerableMostrable extends Mostrable,Acelerable{

	/*esta interfaz tiene  por herencia las constantes boolean ES_MOSTRABLE y
	 * double RELACION_ACELERACION */

	/*esta interfaz tiene  por herencia los métodos void mostrar() y void acel
	 *erar(int) */

}

La implementación de una interfaz permite a una clase ser más formal respecto a los atributos y métodos que esta debe proporcionar,  las interfaces forman un contrato entre la clase que las implementan y el resto del mundo, y este contrato es aplicado por el compilador y para ser redundantes en tiempo de compilación. Si una clase implementa una interfaz, se sobre entiende que todos los métodos definidos por esa interfaz están implementados en el código fuente de la clase.

04
Feb
13

Los números de 2012

Los duendes de las estadísticas de WordPress.com prepararon un informe sobre el año 2012 de este blog.

Aquí hay un extracto:

19.000 personas caben en el nuevo Centro de Barclays para ver la actuación de Jay-Z. Este blog fue visto sobre 120.000 veces en 2012. Si fuera un concierto en el Centro de Barclays, tomaría cerca de 6 conciertos con entradas agotadas para ganar estas visitas.

Haz click para ver el reporte completo.




I+Ds

Dudas consultas
Facebook
Twiter
Google +

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevas publicaciones por correo.

Únete a otros 348 seguidores

Redes Sociales y Archivos

Entradas

febrero 2013
L M X J V S D
« Ene   Abr »
 123
45678910
11121314151617
18192021222324
25262728  

IngenioDS en twiter


A %d blogueros les gusta esto: