15
Herança/ Polimorfismo em JAVA JAVA Curso técnico de Informática, SENAC / MG Orientador Evandro Júnior

Herança e polimorfismo em Java

Embed Size (px)

DESCRIPTION

Herança e polimorfismo em Java

Citation preview

Page 1: Herança e polimorfismo em Java

Herança/Polimorfismo

em JAVAJAVA

Curso técnico de Informática, SENAC / MGOrientador Evandro Júnior

Page 2: Herança e polimorfismo em Java

• Mecanismo pelo qual elementos mais específicos (subclasses) incorporam estrutura e comportamento de elementos mais gerais (superclasses).

// SuperClass.javapublic class SuperClass {...}// SubClass.javapublic class SubClass extends SuperClass {...}

Herança é a capacidade de reutilizar código pela especialização de soluções genéricas já existentes.

Herança é na verdade, uma classe derivada de outra classe. Processo no qual uma classe herda características de outra.

Herança

Page 3: Herança e polimorfismo em Java

Herança

Subclasse

Herda atributos e métodos Modifica métodos Acrescenta novos atributos e métodos

A subclasse estende a superclasse

Page 4: Herança e polimorfismo em Java

Herança

Page 5: Herança e polimorfismo em Java

Herança

Os animais

• Todos os nossos animais herdam da classe Animal, porque todos eles fazem coisas parecidas, como comer, andar, dormir e fazer barulhos;

• Além dessas ações, a classe animal tem propriedades para designar peso, altura e a cor de sua pele (ou pelos);

Page 6: Herança e polimorfismo em Java

Herança

Classe Animal

Page 7: Herança e polimorfismo em Java

Herança

Indo para os outros animais • Agora nós não precisamos mais implementar essas mesmas funcionalidades

básicas nos nossos animais, todos eles vão herdar as qualidades da classe Animal;

• Quando um dos nossos animais não estiver interessado na funcionalidade provida pela classe Animal ele vai poder alterar essa funcionalidade só para ele;

• Os objetos que herdam de animal são versões especializadas do nosso animal;

• Para informar que uma classe herda da outra nós usamos a palavra reservada “extends ”;

Page 8: Herança e polimorfismo em Java

Herança

Exemplo

Funcionário

NomeRGSalarioAumento(valor)Pagamento()

ChefeContasGastos_extraAdicional_chefiaPagamento_extra()

Page 9: Herança e polimorfismo em Java

Herança

Implementação da subclasse Chefe

Page 10: Herança e polimorfismo em Java

Herança

Instanciação da subclasse

Page 11: Herança e polimorfismo em Java

Herança

Hierarquia de Classes

Superclasse direta:• Herdada explicitamente (um nível acima da

hierarquia).

Superclasse indireta:• Herdada de dois ou mais níveis acima da hierarquia.

Page 12: Herança e polimorfismo em Java

Herança

Hierarquia de Classes

Herança única:• Herda de uma superclasse.

Herança múltipla:• Herda de múltiplas superclasses.– Java não suporta herança múltipla

Page 13: Herança e polimorfismo em Java

Polimorfismo

Polimorfismo = várias formas

É o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos.

Page 14: Herança e polimorfismo em Java

Polimorfismo

Animal

TipoCorPeso...

Comer()

Cachorro

Comer() { “cachorro come ração...”}

Tigre

Comer() { “cachorro come osso...”}

Page 15: Herança e polimorfismo em Java

Herança

Exemplo de animal especializado