SlideShare una empresa de Scribd logo
1 de 15
Herança/
Polimorfismo
em JAVA
JAVA
Curso técnico de Informática, SENAC / MG
Orientador Evandro Júnior
• Mecanismo pelo qual elementos mais específicos (subclasses)
incorporam estrutura e comportamento de elementos mais gerais
(superclasses).
// SuperClass.java
public class SuperClass {
...
}
// SubClass.java
public 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
Herança
Subclasse
 Herda atributos e métodos
 Modifica métodos
 Acrescenta novos atributos e métodos
A subclasse estende a superclasse
Herança
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);
Herança
Classe Animal
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 ”;
Herança
Exemplo
Funcionário
Nome
RG
Salario
Aumento(valor)
Pagamento()
Chefe
Contas
Gastos_extra
Adicional_chefia
Pagamento_extra()
Herança
Implementação da subclasse Chefe
Herança
Instanciação da subclasse
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.
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
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.
Polimorfismo
Animal
Tipo
Cor
Peso
...
Comer()
Cachorro
Comer() {
“cachorro come ração...”
}
Tigre
Comer() {
“cachorro come osso...”
}
Herança
Exemplo de animal especializado

Más contenido relacionado

La actualidad más candente

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em javaManoel Afonso
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetossoncino
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentationadamcookeuk
 
Hexagonal Architecture.pdf
Hexagonal Architecture.pdfHexagonal Architecture.pdf
Hexagonal Architecture.pdfVladimirRadzivil
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Alamo Saravali
 
Sentencia if else
Sentencia if elseSentencia if else
Sentencia if elseUVM
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipIvan Paulovich
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 

La actualidad más candente (20)

Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetos
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
Javascript
JavascriptJavascript
Javascript
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
Hexagonal Architecture.pdf
Hexagonal Architecture.pdfHexagonal Architecture.pdf
Hexagonal Architecture.pdf
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
Java Lista Exercicios 03
Java Lista Exercicios 03Java Lista Exercicios 03
Java Lista Exercicios 03
 
Sentencia if else
Sentencia if elseSentencia if else
Sentencia if else
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software Craftsmanship
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 

Destacado

Destacado (20)

Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
Polimorfismo en JAVA
Polimorfismo en JAVAPolimorfismo en JAVA
Polimorfismo en JAVA
 
PCII - AULA 2: HERANÇA EM JAVA
PCII -  AULA 2: HERANÇA EM JAVAPCII -  AULA 2: HERANÇA EM JAVA
PCII - AULA 2: HERANÇA EM JAVA
 
POO Herança
POO HerançaPOO Herança
POO Herança
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e Interface
 
Anexo vi pontua+ç+âo
Anexo vi pontua+ç+âoAnexo vi pontua+ç+âo
Anexo vi pontua+ç+âo
 
Guia Da Internet 2009
Guia Da Internet 2009Guia Da Internet 2009
Guia Da Internet 2009
 
Boletim15 a 17042014
Boletim15 a 17042014Boletim15 a 17042014
Boletim15 a 17042014
 
Guia da-internet-2011
Guia da-internet-2011Guia da-internet-2011
Guia da-internet-2011
 
Convite ago-2015-ia+ºu
Convite   ago-2015-ia+ºuConvite   ago-2015-ia+ºu
Convite ago-2015-ia+ºu
 
Anexo vii calend+ürio
Anexo vii calend+ürioAnexo vii calend+ürio
Anexo vii calend+ürio
 

Más de Evandro Júnior

Logica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolLogica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolEvandro Júnior
 
Programação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaProgramação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaEvandro Júnior
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Arquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaArquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaEvandro Júnior
 
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Evandro Júnior
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEEvandro Júnior
 
Aula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPAula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPEvandro Júnior
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoEvandro Júnior
 
Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#Evandro Júnior
 
Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014Evandro Júnior
 
Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Evandro Júnior
 
Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014Evandro Júnior
 
Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014Evandro Júnior
 
Fundamentos da Informática - Componentes (Atualizado 2014)
Fundamentos da Informática - Componentes  (Atualizado 2014)Fundamentos da Informática - Componentes  (Atualizado 2014)
Fundamentos da Informática - Componentes (Atualizado 2014)Evandro Júnior
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IPEvandro Júnior
 
Cascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de SwitchesCascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de SwitchesEvandro Júnior
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageEvandro Júnior
 

Más de Evandro Júnior (20)

Logica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em PortugolLogica de programação / Algoritmos em Portugol
Logica de programação / Algoritmos em Portugol
 
Programação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap CordovaProgramação para dispositivos móveis com PhoneGap Cordova
Programação para dispositivos móveis com PhoneGap Cordova
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Arquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaArquitetura de Computadores - Concorrência
Arquitetura de Computadores - Concorrência
 
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
Aula 1 - Fundamento de Hardware e Software para arquitetura de computadores.
 
Aula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SEAula 1 - Introdução a linguagem JAVA SE
Aula 1 - Introdução a linguagem JAVA SE
 
Aula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHPAula 01 - Começando a programar em PHP
Aula 01 - Começando a programar em PHP
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e Implementação
 
Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#Construtores e destrutores com aplicação em c#
Construtores e destrutores com aplicação em c#
 
Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014Processadores / CPU (Unidade central de processamento) - Atualizado 2014
Processadores / CPU (Unidade central de processamento) - Atualizado 2014
 
Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014Placa Mãe - Atualizado 29/10/2014
Placa Mãe - Atualizado 29/10/2014
 
Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014Comandos ms-dos - Atualizado 29/10/2014
Comandos ms-dos - Atualizado 29/10/2014
 
Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014Unidade de disco - Atualizado 2014
Unidade de disco - Atualizado 2014
 
Fundamentos da Informática - Componentes (Atualizado 2014)
Fundamentos da Informática - Componentes  (Atualizado 2014)Fundamentos da Informática - Componentes  (Atualizado 2014)
Fundamentos da Informática - Componentes (Atualizado 2014)
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IP
 
Cascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de SwitchesCascateamento x Empilhamento de Switches
Cascateamento x Empilhamento de Switches
 
Cabeamento estruturado
Cabeamento estruturadoCabeamento estruturado
Cabeamento estruturado
 
Endereçamento IP CIDR
Endereçamento IP CIDREndereçamento IP CIDR
Endereçamento IP CIDR
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server Page
 
Aula 1 apresentação
Aula 1   apresentaçãoAula 1   apresentação
Aula 1 apresentação
 

Herança e polimorfismo em Java