Escolar Documentos
Profissional Documentos
Cultura Documentos
Herana mltipla
Herana Mltipla
A herana mltipla permite que uma classe possua mais de uma superclasse e herde caractersticas de todos os seus ancestrais
Herana Mltipla
Isso permite a mesclagem de informaes de duas ou mais origens. Essa uma forma mais complicada de generalizao do que a herana simples, que restringe a hierarquia de classes a uma rvore.
Herana Mltipla
A vantagem da herana mltipla a maior capacidade de especificao de classes e a maior oportunidade de reutilizao. Ela traz a modelagem de objetos para mais prximo da maneira como se costuma pensar.
Herana Mltipla
A desvantagem a perda em simplicidade conceitual e de implementao. Em princpio, os tipos de diferentes regras de mesclagem podem ser definidos para solucionar conflitos entre caractersticas definidas por diferentes caminhos.
Herana Mltipla
Uma classe com mais de uma superclasse denominada classe de juno. Uma caracterstica proveniente da mesma classe ancestral encontrada em mais de um caminho herdada apenas uma vez; a mesma caracterstica.
Herana Mltipla
Os conflitos entre definies paralelas criam ambiguidades que precisam ser resolvidas nas implementaes. Na prtica, esses conflitos devem ser evitados ou explicitamente resolvidos para se evitar ambiguidades ou mal-entendidos, mesmo quando uma determinada linguagem fornece uma regra de prioridade para soluo de conflitos.
Interfaces
Interface um recurso da orientao a objeto utilizado em Java que define aes que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente.
Interfaces
Interfaces contm valores constantes ou assinaturas de mtodos que devem ser implementados dentro de uma classe.
Interfaces
Isso se deve ao fato que muitos objetos (classes) podem possuir a mesma ao (mtodo), porm, podem execut-la de maneira diferente.
Interfaces
Usando um exemplo bem drstico, podemos ter uma interface chamada areo que possui a assinatura do mtodo voar(). Ou seja, toda classe que implementar areo deve dizer como voar().
Interfaces
Portanto, se eu tenho uma classe chamada pssaro e outra chamada avio, ambas implementando a interface areo, ento, nestas duas classes devemos codificar a forma como cada um ir voar().
Interfaces
Uma interface criada da mesma forma que uma classe, mas utilizando a palavra-chave interface no lugar de class.
interfaceNomeDaInterface{ metodoAbstrato(argumentos); }
Interface Aluno: Considere-se a interface Aluno que especifica os mtodos a fornecer por qualquer aluno.
interfaceAluno{ voidestudar(); }
Utilizando as duas interfaces anteriores e definindo alguns mtodos adicionais, possvel modelar a classe de um aluno de doutoramento que, por hiptese, d aulas.
publicclassDoutorandoimplementsAluno,Docente{ publicvoidescreverTese(){ } publicvoiddefenderTese(){ } publicvoidlecionar(){ } publicvoidestudar(){ }