SlideShare a Scribd company logo
Arthur E. de O. Carosia
Código Repetido
Código Novo
 Poderíamos ter deixado a
classe Funcionario mais genérica,
◦ mantendo nela senha de acesso, e o número de
funcionários gerenciados.
◦ Caso o funcionário não fosse um gerente,
deixaríamos estes atributos vazios.
 Muito atributos opcionais
◦ Muito espaço vazio
 Métodos
◦ Gerente tem o método autentica, que não faz
sentido existir em um funcionário que não é
gerente.
 Se tivéssemos um outro tipo de funcionário
que tem características diferentes do
funcionário comum, precisaríamos criar uma
outra classe e copiar o código novamente
 Se um dia precisarmos adicionar uma nova
informação para todos os funcionários,
precisaremos passar por todas as classes de
funcionário e adicionar esse atributo.
 Centralizar as informações de Funcionário
 Em Java, de relacionarmos uma classe de tal
maneira que uma delas herda tudo que a
outra tem.
 No nosso caso, gostaríamos de fazer com
que o Gerente tivesse tudo que
umFuncionario tem, gostaríamos que ela
fosse uma extensão de Funcionario.
 Uso do termo extends
 O gerente “é um” funcionário
 A classe Gerente herda todos os atributos e
métodos da classe mãe, no nosso caso,
a Funcionario.
 Adaptar ou alterar métodos de classes
existentes, bem como também adicionar
métodos ou atributos, com o objetivo de
adaptar as classes para novas situações
 A subclasse herda atributos e métodos da
superclasse.
 Super e Sub classe
◦ Funcionario é a superclasse de Gerente
◦ Gerente é a subclasse de Funcionario.
 Todo Gerente é um Funcionário.
é-um GeneralizaçãoEspecialização
 Public:
◦ qualquer classe pode alterar os atributos dos
objetos deste tipo.
 Private:
◦ Somente pode ser acessado de dentro da classe
 Protected
◦ Entre o private e o public
◦ só pode ser acessado (visível) pela própria classe,
por suas subclasses e classes do mesmo pacote
 Métodos herdados podem ser reescritos nas
subclasses
 Ao herdar um método, podemos alterar seu
comportamento.
 Reescrever (@override) o método:
 Métodos (ou atributos) da superclasse podem
ser invocados com o uso da palavra chave
super
 Construtores da superclasse também podem
ser invocados
 Construtores da superclasse também podem
ser invocados
 A chamada a super deve ser a primeira
instrução do construtor da subclasse
 Se não houver a chamada a super, então o
construtor padrão (sem argumentos) da
superclasse é chamado
 Se a superclasse não tiver construtor padrão,
ocorrerá um erro de compilação
 Lista de Exercícios no Moodle
 Na herança, todo Gerente é um Funcionario
 Podemos nos referir a um Gerente como
sendo um Funcionario.
 Se alguém precisa falar com
um Funcionario do banco, pode falar com
um Gerente.
 Polimorfismo é a capacidade de um objeto
poder ser referenciado de várias formas.
 Polimorfismo é a capacidade de um objeto
poder ser referenciado de várias formas.
No Java, a invocação de método sempre vai
ser decidida em tempo de execução.
O método executado é o do Gerente.
 Sistema de Faculdade que controle despesas
com funcionários e professores
 Funcionário
 O gasto que temos com o professor não é
apenas seu salário. Temos de somar um
bônus de 10 reais por hora/aula.
 Gerador de Relatórios
◦ Podemos passar para nossa classe
qualquer EmpregadoDaFaculdade.
◦ Vai funcionar tanto para professor, quanto para
funcionário comum.
 Benefício:
◦ Se desejarmos adicionar uma nova classe que
estende EmpregadoDaFaculdade, não é necessário
alterar a classe Relatório.
 Moodle
Arthur E. de O. Carosia

More Related Content

What's hot

Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Java: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoJava: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acesso
Arthur Emanuel
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
FAFICA
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
Elaine Cecília Gatto
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
Sedu
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
Manoel Afonso
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Rafael Pinheiro
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
Daniel Brandão
 
Pilha e filas
Pilha e filasPilha e filas
Pilha e filas
Patrick Silva
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
Jéssica Nathany Carvalho Freitas
 
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
Daniel Brandão
 
Java Lista Exercicios 03
Java Lista Exercicios 03Java Lista Exercicios 03
Java Lista Exercicios 03
Regis Magalhães
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
Pedro De Almeida
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
Antonio Oliveira
 
Oops in java
Oops in javaOops in java

What's hot (20)

Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Java: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoJava: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acesso
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Pilha e filas
Pilha e filasPilha e filas
Pilha e filas
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
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
 
Java Lista Exercicios 03
Java Lista Exercicios 03Java Lista Exercicios 03
Java Lista Exercicios 03
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
 
Oops in java
Oops in javaOops in java
Oops in java
 

Viewers also liked

Presentacion progra
Presentacion prograPresentacion progra
Presentacion progra
zeta2015
 
Polimorfismo - Higor Nucci
Polimorfismo - Higor NucciPolimorfismo - Higor Nucci
Polimorfismo - Higor Nucci
Higor Nucci
 
Polimorfismo em jogos
Polimorfismo em jogosPolimorfismo em jogos
Polimorfismo em jogos
Daniel Giampaulo
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
nestor_moren
 
Rpp 1-2-jurnal-khusus-perusahaan-dagang1
Rpp 1-2-jurnal-khusus-perusahaan-dagang1Rpp 1-2-jurnal-khusus-perusahaan-dagang1
Rpp 1-2-jurnal-khusus-perusahaan-dagang1AGUS SETIYONO
 
Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
Felippe Rodrigo Puhle
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
Angel Vázquez Patiño
 
Métodos de cocción indirecta
Métodos de cocción indirectaMétodos de cocción indirecta
Métodos de cocción indirecta
Ingrid Morales Mendoza
 
Mockito tutorial for beginners
Mockito tutorial for beginnersMockito tutorial for beginners
Mockito tutorial for beginners
inTwentyEight Minutes
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array List
Arthur Emanuel
 
Clean architecture on android
Clean architecture on androidClean architecture on android
Clean architecture on android
Benjamin Cheng
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
Daniel Arndt Alves
 
Analisis Keanekaragaman Kelompok Sosial Dalam Masyarakat Multikultural
Analisis Keanekaragaman Kelompok Sosial Dalam Masyarakat MultikulturalAnalisis Keanekaragaman Kelompok Sosial Dalam Masyarakat Multikultural
Analisis Keanekaragaman Kelompok Sosial Dalam Masyarakat Multikultural
annisaaa
 
Herencia yPolimorfismo
Herencia yPolimorfismoHerencia yPolimorfismo
Herencia yPolimorfismo
José D Pluas
 
Materi pokok 5
Materi pokok 5Materi pokok 5
Materi pokok 5
Angela Purwanti
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
Evandro Júnior
 

Viewers also liked (16)

Presentacion progra
Presentacion prograPresentacion progra
Presentacion progra
 
Polimorfismo - Higor Nucci
Polimorfismo - Higor NucciPolimorfismo - Higor Nucci
Polimorfismo - Higor Nucci
 
Polimorfismo em jogos
Polimorfismo em jogosPolimorfismo em jogos
Polimorfismo em jogos
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Rpp 1-2-jurnal-khusus-perusahaan-dagang1
Rpp 1-2-jurnal-khusus-perusahaan-dagang1Rpp 1-2-jurnal-khusus-perusahaan-dagang1
Rpp 1-2-jurnal-khusus-perusahaan-dagang1
 
Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Métodos de cocción indirecta
Métodos de cocción indirectaMétodos de cocción indirecta
Métodos de cocción indirecta
 
Mockito tutorial for beginners
Mockito tutorial for beginnersMockito tutorial for beginners
Mockito tutorial for beginners
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array List
 
Clean architecture on android
Clean architecture on androidClean architecture on android
Clean architecture on android
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Analisis Keanekaragaman Kelompok Sosial Dalam Masyarakat Multikultural
Analisis Keanekaragaman Kelompok Sosial Dalam Masyarakat MultikulturalAnalisis Keanekaragaman Kelompok Sosial Dalam Masyarakat Multikultural
Analisis Keanekaragaman Kelompok Sosial Dalam Masyarakat Multikultural
 
Herencia yPolimorfismo
Herencia yPolimorfismoHerencia yPolimorfismo
Herencia yPolimorfismo
 
Materi pokok 5
Materi pokok 5Materi pokok 5
Materi pokok 5
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
 

Similar to Java: Heranca e polimorfismo

Aula Herança
Aula HerançaAula Herança
Aula Herança
Jorge Ávila Miranda
 
Heranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoHeranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismo
Pedro Neto
 
Herança
HerançaHerança
Herança
Claudemir JOse
 
Herança.pptx
Herança.pptxHerança.pptx
Herança.pptx
GiselleSantos60
 
10 heranca
10   heranca10   heranca
10 heranca
Artur Todeschini
 
Orientação a objetos com PHP
Orientação a objetos com PHPOrientação a objetos com PHP
Orientação a objetos com PHP
Leonardo Soares
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosJava básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetos
Professor Samuel Ribeiro
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
secomp2011
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
Gardênia Santana
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
Regis Magalhães
 
Atividade 3
Atividade 3Atividade 3
Atividade 3
David Willian
 
Asp.Net Módulo3
Asp.Net  Módulo3Asp.Net  Módulo3
Asp.Net Módulo3
michellobo
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Wanderlei Silva do Carmo
 
Aula 4 herança, sobrescrita de métodos, construtor
Aula 4   herança, sobrescrita de métodos, construtorAula 4   herança, sobrescrita de métodos, construtor
Aula 4 herança, sobrescrita de métodos, construtor
Rafael Pinheiro
 
Aula 3.ppt
Aula 3.pptAula 3.ppt
Apresentação sobre Herança - Orientação a Objetos
Apresentação sobre Herança - Orientação a ObjetosApresentação sobre Herança - Orientação a Objetos
Apresentação sobre Herança - Orientação a Objetos
mauroladeiafilho
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Professor Samuel Ribeiro
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AurelcioOliveira
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
Antonio Alves
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
Pedro Neto
 

Similar to Java: Heranca e polimorfismo (20)

Aula Herança
Aula HerançaAula Herança
Aula Herança
 
Heranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoHeranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismo
 
Herança
HerançaHerança
Herança
 
Herança.pptx
Herança.pptxHerança.pptx
Herança.pptx
 
10 heranca
10   heranca10   heranca
10 heranca
 
Orientação a objetos com PHP
Orientação a objetos com PHPOrientação a objetos com PHP
Orientação a objetos com PHP
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosJava básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetos
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
 
Atividade 3
Atividade 3Atividade 3
Atividade 3
 
Asp.Net Módulo3
Asp.Net  Módulo3Asp.Net  Módulo3
Asp.Net Módulo3
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
Aula 4 herança, sobrescrita de métodos, construtor
Aula 4   herança, sobrescrita de métodos, construtorAula 4   herança, sobrescrita de métodos, construtor
Aula 4 herança, sobrescrita de métodos, construtor
 
Aula 3.ppt
Aula 3.pptAula 3.ppt
Aula 3.ppt
 
Apresentação sobre Herança - Orientação a Objetos
Apresentação sobre Herança - Orientação a ObjetosApresentação sobre Herança - Orientação a Objetos
Apresentação sobre Herança - Orientação a Objetos
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
 
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptxAULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
 

More from Arthur Emanuel

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Arthur Emanuel
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
Arthur Emanuel
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
Arthur Emanuel
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
Arthur Emanuel
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Arthur Emanuel
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Arthur Emanuel
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Arthur Emanuel
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Arthur Emanuel
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Arthur Emanuel
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Arthur Emanuel
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Arthur Emanuel
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
Arthur Emanuel
 
CSS 3
CSS 3CSS 3
CSS
CSSCSS
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
Arthur Emanuel
 
HTML - Introducao
HTML - Introducao HTML - Introducao
HTML - Introducao
Arthur Emanuel
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
Arthur Emanuel
 
Android - Bluetooth
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
Arthur Emanuel
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
Arthur Emanuel
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
Arthur Emanuel
 

More from Arthur Emanuel (20)

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
 
CSS 3
CSS 3CSS 3
CSS 3
 
CSS
CSSCSS
CSS
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
 
HTML - Introducao
HTML - Introducao HTML - Introducao
HTML - Introducao
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
 
Android - Bluetooth
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
 

Recently uploaded

Por que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdfPor que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdf
Ian Oliveira
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
anpproferick
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Annelise Gripp
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
anpproferick
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
tnrlucas
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
Rafael Santos
 
Orientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço BrasilOrientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço Brasil
EliakimArajo2
 

Recently uploaded (7)

Por que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdfPor que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdf
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
 
Orientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço BrasilOrientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço Brasil
 

Java: Heranca e polimorfismo

  • 1. Arthur E. de O. Carosia
  • 2.
  • 4.  Poderíamos ter deixado a classe Funcionario mais genérica, ◦ mantendo nela senha de acesso, e o número de funcionários gerenciados. ◦ Caso o funcionário não fosse um gerente, deixaríamos estes atributos vazios.  Muito atributos opcionais ◦ Muito espaço vazio  Métodos ◦ Gerente tem o método autentica, que não faz sentido existir em um funcionário que não é gerente.
  • 5.  Se tivéssemos um outro tipo de funcionário que tem características diferentes do funcionário comum, precisaríamos criar uma outra classe e copiar o código novamente  Se um dia precisarmos adicionar uma nova informação para todos os funcionários, precisaremos passar por todas as classes de funcionário e adicionar esse atributo.
  • 6.  Centralizar as informações de Funcionário  Em Java, de relacionarmos uma classe de tal maneira que uma delas herda tudo que a outra tem.  No nosso caso, gostaríamos de fazer com que o Gerente tivesse tudo que umFuncionario tem, gostaríamos que ela fosse uma extensão de Funcionario.  Uso do termo extends
  • 7.  O gerente “é um” funcionário
  • 8.  A classe Gerente herda todos os atributos e métodos da classe mãe, no nosso caso, a Funcionario.
  • 9.  Adaptar ou alterar métodos de classes existentes, bem como também adicionar métodos ou atributos, com o objetivo de adaptar as classes para novas situações  A subclasse herda atributos e métodos da superclasse.
  • 10.  Super e Sub classe ◦ Funcionario é a superclasse de Gerente ◦ Gerente é a subclasse de Funcionario.  Todo Gerente é um Funcionário. é-um GeneralizaçãoEspecialização
  • 11.  Public: ◦ qualquer classe pode alterar os atributos dos objetos deste tipo.  Private: ◦ Somente pode ser acessado de dentro da classe  Protected ◦ Entre o private e o public ◦ só pode ser acessado (visível) pela própria classe, por suas subclasses e classes do mesmo pacote
  • 12.
  • 13.  Métodos herdados podem ser reescritos nas subclasses  Ao herdar um método, podemos alterar seu comportamento.  Reescrever (@override) o método:
  • 14.  Métodos (ou atributos) da superclasse podem ser invocados com o uso da palavra chave super
  • 15.  Construtores da superclasse também podem ser invocados
  • 16.  Construtores da superclasse também podem ser invocados
  • 17.  A chamada a super deve ser a primeira instrução do construtor da subclasse  Se não houver a chamada a super, então o construtor padrão (sem argumentos) da superclasse é chamado  Se a superclasse não tiver construtor padrão, ocorrerá um erro de compilação
  • 18.  Lista de Exercícios no Moodle
  • 19.  Na herança, todo Gerente é um Funcionario  Podemos nos referir a um Gerente como sendo um Funcionario.  Se alguém precisa falar com um Funcionario do banco, pode falar com um Gerente.
  • 20.  Polimorfismo é a capacidade de um objeto poder ser referenciado de várias formas.
  • 21.  Polimorfismo é a capacidade de um objeto poder ser referenciado de várias formas. No Java, a invocação de método sempre vai ser decidida em tempo de execução. O método executado é o do Gerente.
  • 22.
  • 23.
  • 24.  Sistema de Faculdade que controle despesas com funcionários e professores
  • 26.  O gasto que temos com o professor não é apenas seu salário. Temos de somar um bônus de 10 reais por hora/aula.
  • 27.  Gerador de Relatórios ◦ Podemos passar para nossa classe qualquer EmpregadoDaFaculdade. ◦ Vai funcionar tanto para professor, quanto para funcionário comum.
  • 28.  Benefício: ◦ Se desejarmos adicionar uma nova classe que estende EmpregadoDaFaculdade, não é necessário alterar a classe Relatório.
  • 30. Arthur E. de O. Carosia