|
|
| Linha 1: |
Linha 1: |
| = Conceito =
| |
|
| |
|
| **O conceito de encapsular estrutura e comportamento em um tipo não é exclusivo da orientação a objetos; particularmente, a programação por tipos abstratos de dados segue esse mesmo conceito. O que torna a orientação a objetos única é o conceito de herança.
| |
|
| |
| **Herança é um mecanismo que permite que características comuns a diversas classes sejam fatoradas em uma classe base, ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as características (estrutura e métodos) da classe base e acrescenta a elas o que for definido de particularidade para ela.
| |
|
| |
| = Exemplos =
| |
|
| |
| *– Um retângulo é um quadrilátero
| |
| ** Retângulo é um tipo específico de quadrilátero
| |
| ** Quadrilátero é a superclasse, retângulo é a subclasse
| |
| ** Não se pode dizer que um quadrilátero é um retângulo
| |
|
| |
|
| |
| *-Nomes podem ser confusos porque a subclasse tem mais características que a superclasse
| |
| **Subclasse é mais específica que a superclasse
| |
| **Toda subclasse é um objeto da sua superclasse, mas não vice-versa
| |
|
| |
| = Herança Múltipla =
| |
|
| |
| == Definição ==
| |
| **A herança múltipla entre classes ocorre sempre que uma subclasse possui duas ou mais superclasses imediatas, ou seja, é "filha" de mais de uma classe. Através da herança múltipla é possível combinar as características de várias superclasses existentes como um ponto de partida para a definição de uma nova classe.
| |
| **A sintaxe de definição de uma classe com múltiplas superclasses é a seguinte: "class<nome_classe_derivada> : <especif_acesso> <nome_classe_base1>, <especif_acesso> <nome_classe_base2>, ..., <especif_acesso> <nome_classe_baseN> { //membros da classe };", onde<especif_acesso> pode ser private, public ou protected. Caso não seja colocado nenhum especificador de acesso, assume-se private como default.
| |
|
| |
| == Exemplos ==
| |
|
| |
| = Associação =
| |
|
| |
| == Definição ==
| |
|
| |
| == Exemplos ==
| |
|
| |
| = Diferença entre herança e associação =
| |
|
| |
| = Referências Bibliográficas =
| |
|
| |
| Válida a pesquisa apenas em Livros, Artigos ou Revistas.
| |
|
| |
| *
| |