? Desenvolvedores Java projetado a partir do zero para funcionar como uma linguagem completa de programação orientada a objeto. Devido a isso, conceitos integrante programação orientada a objetos tornam-se bastante importante na funcionalidade básica Java. Particularmente , os conceitos de herança de classe (e os problemas que surgem de herança de classe formulário ) são preocupações fundamentais para o programador Java. Um desses problemas , a herança múltipla , pode ser contornado com uma compreensão de como a herança funciona , e como usar interfaces Java . Programação OOP e Herança
Orientada a Objetos utiliza o conceito de herança para estender a funcionalidade de objetos. Considere quando um programador cria um objeto , ela pode depois descobrir que ela deve criar um objeto muito semelhante apenas com ligeiras diferenças ( talvez para estender a funcionalidade do objeto anterior em um novo contexto ) . Este é o lugar onde a herança vêm dentro Um objeto que um programador "deriva " de outro "Base " objeto herda os métodos e variáveis de classe, e pode então adicionar mais funcionalidades a ele ( como no seguinte exemplo Java) :
public class Sphere {
public int raio;
}
Bola public class Sphere {
cadeia pública de cor //Bola acrescenta a variável "cor", mas também usa o " raio "
variável }
Multiple Inheritance
Em algum momento, um programador pode tornar-se tentado derivar uma classe única de várias classes . Isto é conhecido como " herança múltipla " e embora aparentemente úteis , podem causar problemas , tais como o conhecido problema " diamante ". O problema ocorre quando diamante duas classes herdam da mesma classe (como a classe B e C decorrente da classe A) , enquanto que uma outra classe (D) herda de ambos B e C. Quando um objeto D é criado , o sistema trata como um tipo da classe base ( classe "Bola " é um " Sphere ", por exemplo). No problema de diamante , o sistema não pode determinar de forma decisiva o D classe é ( se ele digitar ABD ou digite ACD ? ) Que causa problemas.
Java e herança múltipla
por causa dos problemas com a herança múltipla , Java não permite herança múltipla. No entanto , na realidade derivadas classes de múltiplas classes de base pode ser realizado de um modo seguro através do uso de " interfaces. " Uma interface é semelhante a uma classe , exceto que ela não só define a estrutura da classe , mas não o código real . A classe base que implementa uma interface não necessariamente " herdar " a funcionalidade da interface : só promete usar sua estrutura. Porque uma classe que implementa uma interface não herda de outra classe (e este não é um tipo da classe base) , então o programador pode implementar várias interfaces usando a mesma classe
Exemplo: . Herança e Interfaces
o exemplo a seguir mostra a diferença entre herança e objeto de uma interface. É importante ressaltar que uma classe que herda de outra ganha acesso para a classe base , pois torna-se essencialmente um tipo da classe (como no "Bola " e classes " Sphere " ) . Uma classe que implementa uma interface única promete implementar a estrutura da interface : não é um tipo dessa interface :
Interface básica {
int DoubleA ( ) //aviso : não código real é definido na interface
}
public class B implementa Básico {
public int a;
int público DoubleA () //Classe B deve definir o método de " DoubleA () " para implementar "Basic"
{return a * 2 ;} }