¿ Desarrolladores Java diseñado desde cero para que actúe como un lenguaje de programación orientado a objetos completo . Debido a esto , los conceptos integrales a la programación orientada a objetos se vuelven bastante importante en la funcionalidad básica de Java . En particular , los conceptos de herencia de clases (y los problemas que se presentan forma de herencia de clases ) son preocupaciones fundamentales para el programador Java. Uno de estos problemas , la herencia múltiple, pueden evitarse con una comprensión de cómo funciona la herencia , y cómo usar interfaces Java . Programación orientada a objetos y herencia
Programación Orientada a Objetos utiliza el concepto de herencia para extender la funcionalidad de los objetos. Considere la posibilidad de que un programador crea un objeto , se puede encontrar más tarde que tenía que crear un objeto muy similar con ligeras diferencias ( tal vez para ampliar la funcionalidad del objeto anterior en un nuevo contexto ) . Esto es donde la herencia vienen pulg Un objeto que un programador " deriva " de otro objeto " de base " hereda los métodos y las variables de esa clase , y entonces puede agregar más funcionalidad a que ( como en el siguiente ejemplo de Java ) :
Esfera clase pública {
radio pública int ;
}
bola clase pública se extiende Sphere {
colores public string //bola añade la variable "colores" , pero también utiliza el "radio " variable de
}
múltiple herencia
En algún momento, un programador podría llegar a ser tentado para derivar una clase a partir de múltiples clases. Esto se conoce como " herencia múltiple ", y aunque en principio parece útil, puede causar problemas, como el famoso "problema de diamantes. " El problema ocurre cuando el diamante dos clases heredan de la misma clase ( como la clase B y C que se derivan de la clase A) , mientras que otra clase (D ) se hereda de ambos B y C. Cuando se crea un objeto D , el sistema trata como un tipo de la clase base (clase "Bola " es una " Esfera ", por ejemplo ) . En el problema de diamante, el sistema no puede determinar decisivamente que clase D es ( se lo escriba ABD o escribe el ACD ? ) Que causa problemas.
Java y herencia múltiple
Debido a los problemas con la herencia múltiple , Java no permite la herencia múltiple . Sin embargo , en realidad las clases derivadas de múltiples clases base pueden llevarse a cabo de una manera segura a través del uso de " interfaces. " Una interfaz es similar a una clase , excepto que no sólo define la estructura de la clase , pero no el código real . Una clase base que implementa una interfaz no significa necesariamente " heredar " la funcionalidad de la interfaz : sólo se compromete a utilizar su estructura . Debido a que una clase que implementa una interfaz no hereda de otra clase (y esto no es un tipo de la clase base) , a continuación, el programador puede implementar varias interfaces utilizando la misma clase
Ejemplo: . Sucesiones y Interfaces
el siguiente ejemplo muestra la diferencia entre la herencia de objetos y una interfaz. Es importante destacar que una clase que hereda de otra obtiene acceso a la clase base , ya que esencialmente se convierte en un tipo de dicha clase (como en la " bola " y clases " Esfera " ) . Una clase que implementa una interfaz única que promete implementar la estructura de la interfaz : no es un tipo de la interfaz :
interfaz Basic {
DoubleA int (); //Aviso : no código real se define en la interfaz
}
public class B implementa Basic
{ public int a;
public int DoubleA () //Clase B debe definir el método " DoubleA () " para implementar "Basic"
{return a * 2 ;} }