SlideShare uma empresa Scribd logo
1 de 30
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

Mais conteúdo relacionado

Mais procurados

Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
Armando Daniel
 
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
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
Regis Magalhães
 

Mais procurados (20)

Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetos
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
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)
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
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 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
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
ArrayList Java
ArrayList JavaArrayList Java
ArrayList Java
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 

Destaque

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
AGUS SETIYONO
 
Mockito tutorial for beginners
Mockito tutorial for beginnersMockito tutorial for beginners
Mockito tutorial for beginners
inTwentyEight Minutes
 
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
 

Destaque (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
 
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
 
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
 

Semelhante a Java: Heranca e polimorfismo

Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
secomp2011
 
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
 
Asp.Net Módulo3
Asp.Net  Módulo3Asp.Net  Módulo3
Asp.Net Módulo3
michellobo
 

Semelhante a 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...
 
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
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 

Mais de 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
 

Mais de 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
 

Último

Último (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

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