Herança, classes

1079 palavras 5 páginas
1. Herança
• Herança - forma de reutilização de software • Novas classes são criadas a partir de classes já existentes • Absorvem atributos e comportamentos, e incluem os seus próprios
– Sobrescrevem métodos - redefinem métodos herdados

• Subclasse herda de uma superclasse
– Superclasse direta - subclasse herda explicitamente – Superclasse indireta - subclasse herda de dois ou mais níveis acima na hierarquia de classes

• Exemplo de herança
– 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

– Formam estruturas hierárquicas (árvores)
• Ex: criar uma hierarquia para a classe Forma

1

Forma

FormaBidimensional

FormaTridimensional Esfera Cubo Piramide

Circulo

Quadrado

Triangulo

•Utiliza-se a palavra-chave extends: class FormaBidimensional extends Forma { ... } – Obs: membros private da superclasse não estão acessíveis diretamente na subclasse! – Então, como acessá-los ???

• Em uma superclasse:
– public
• Acessível em qualquer classe

– private
• Accesível somente nos métodos da própria superclasse

– protected
• Proteção intermediária entre private and public • Somente acessível pelos métodos da superclasse ou de uma subclasse desta

• Métodos na subclasse
– Podem se referir a membros public ou protected pelo nome

2

• Sobrescrevendo métodos
– Subclasse pode redefinir métodos da superclasse
• Quando um método é referenciado em uma subclasse, a versão escrita para a subclasse é utilizada • É possível acessar o método original da superclasse: super.nomeDoMetodo(...)

– Para invocar o construtor da superclasse explicitamente: super(); // pode-se passar parâmetros se

Relacionados

  • Classes Herança
    290 palavras | 2 páginas
  • Java
    4807 palavras | 20 páginas
  • Herança POO
    1320 palavras | 6 páginas
  • LTP 2015 Semestre1 Aula 11
    963 palavras | 4 páginas
  • Herança
    4075 palavras | 17 páginas
  • Herança
    1078 palavras | 5 páginas
  • Herança
    620 palavras | 3 páginas
  • java
    492 palavras | 2 páginas
  • Pesquisa
    1587 palavras | 7 páginas
  • artigos de programação
    905 palavras | 4 páginas