Herança múltipla
Seminário: Herança múltipla. Pesquise 862.000+ trabalhos acadêmicosPor: pelegrini90 • 10/4/2014 • Seminário • 502 Palavras (3 Páginas) • 305 Visualizações
Em uma hierarquia de classes que possui N níveis, ao identificar um caminho da classe que está em um nível mais alto até uma classe presente em um nível mais baixo (deste caminho), a classe no nível mais baixo herdam todas as variáveis e todos os métodos de todas as classes superioras a ela no caminho.
Um benefício importante da herança em orientação a objetos é a reusabilidade, visto que os métodos em uma classe não precisam ser redefinidos nas suas subclasses, a menos que uma delas requeira uma implementação distinta.
Há duas possibilidades de associar um objeto a uma classe, a saber:
os objetos de uma superclasse são todos os objetos desta classe em conjunto com todos os objetos de todas as suas subclasses;
os objetos de uma superclasse são todos os objetos desta classe exceto os objetos de suas subclasses.
A escolha mais utilizada nos sistemas desenvolvidos sob a luz de orientação a objetos é a segunda possibilidade.
Herança Múltipla
A herança múltipla é a habilidade de uma classe herdar variáveis e/ou métodos de mais de uma classe. Ao utilizar este recurso, a hierarquia de classes passa a ser representada por um grafo acíclico direcionado (DAG).
A herança múltipla possibilita ambigüidade, uma vez que duas ou mais superclasses envolvidas podem possuir variáveis e/ou métodos com mesmos nomes. Para tentar solucionar esta ambigüidade quatro estratégias podem ser adotadas, a saber:
renomear as variáveis e/ou os métodos conflitantes, incorporando o nome (identificador) da classe no final do nome;
escolher uma variável das variáveis conflitantes, bem como escolher um método dos métodos conflitantes para serem herdados;
forçar a escolha explícita pelo usuário;
tratar como erro.
Em geral, nenhuma solução é aceita como a melhor, pois sistemas diferentes requerem escolhas diferentes.
Identidade do Objeto
A identidade de objeto é noção mais forte de identidade do que as encontradas em linguagem de programação ou em modelos de dados não baseados em orientação a objetos.
Entre as diversas formas de representar a identidade de objeto, pode-se destacar a forma em que é atribuído automaticamente um identificador pelo sistema quando o objeto é criado. Esta forma está embutida no modelo de dados ou na linguagem de programação e é usada nos sistemas de orientação a objetos.
Em orientação a objetos existe o conceito de identificador de objetos (object identifier – OID). Cada objeto possui um único OID e não existem dois objetos com o mesmo OID.
Objetos Complexos (Compostos)
Os objetos que contém outros objetos são chamados de objetos compostos ou complexos, incorrendo em uma hierarquia
...