SlideShare a Scribd company logo
1 of 22
Diogo Vinícius Winck
                diogo.winck@gmail.com




gtalk: diogo.winck@gmail.com
skype: diogo.winck
site: www.winck.biz
Objetivo
Os objetivos da aula de hoje são:
  • Generalização e especialização
  • Tipos de Herança
Quem pode
definir o que é
um especialista?
Liste exemplos de
agregações.

Liste exemplos de
especialização
Por que não usar o termo
           herança?
Herança implica em:
• Duas pessoas diferentes
• Uma pessoa morre
• Outra ganha o espólio...


Mas:
• Uma tesoura de criança é um tipo especial de tesoura:
  só existe um objeto, não há morte e não tem espólio.
modelando
        Funcionario             FuncionarioComissionado


nome: String
                             comissao: double
sobrenome: String
                             vendas: double
salario: double

getNome(): String            zerarVendas():void
getSobrenome: String         addVenda(valor:double):void
getSalario: double           calcularSalario():double
Quantos métodos
um objeto da Classe
FuncionarioComissionado
possui?
Superclasse e subclasse
• Superclasse é a classe mais genérica (também chamada
  de classe mãe).
• Subclasse é a classe mais especializada (também é
  chamada de classe filha)

         Super       NumberFormat




           ChoiceFormat         DecimalFormat
Exercício




            Crie as classes:
              • Funcionário e
              • FuncionárioComissionado


            • O método calcularSalario é definido por:
              • salario + (vendas * comissao)/100
Exercício




            Crie um programa que utilize tanto
            funcionário quanto funcionário
            comissionado.
Interfaces
Considere a interface abaixo:

          public interface VoadorInteface{
               public void decolar();
               public void voar();
               public void pousar();
          }
Quais objetos
implementam esta
interface?

Podemos dizer que
cada um deles possui
a relação “é um”
com esta interface?
Algumas informações
Composição: uma classe implementada usando
objetos (classes) como propriedades internas.

Delegação: é o processo onde um objeto passa uma
mensagem para outro objeto, para que este forneça
algum serviço (execute um método).

Herança Múltipla: quando há mais de uma
superclasse. Não é completamente suportado no java!
Quais são exemplos
de composição?

Quais são exemplos
de delegação?
Visibilidade
                 Impõe uma relação entre superclasse e a subclasse.

                 • Público: totalmente acessível tanto no escopo entre
                  super/sub quanto com qualquer outra classe
acessibilidade




                 • Protegido: Acessível somente no escopo super/sub.


                 • Privado: acessível somente no
                  escopo da classe.
Trabalho para próxima aula
• Elaborar um estudo sobre a API Collections do Java.
   • O que é uma API?
   • Quais interfaces ela disponibiliza?
   • Quais classes ela disponibiliza?
   • Qual a diferença entre um ArrayList e um LinkedList?
   • O que são Maps?
   • O que são Hash?

• Deve ser elaborado uma apresentação e um artigo.
  Alguns pessoas serão convidadas a apresentar.
• Pode ser em dupla.
Referências Bibliográficas
• As imagens foram pesquisadas junto a banco de imagens da
  Microsoft.
• SINTES, Anthony. Aprenda programação orientada a objetos em
  21 dias. 1. ed. São Paulo: Pearson Makron Books, 2002-2010.

More Related Content

What's hot

Testes de Software - Fundamentos
Testes de Software - FundamentosTestes de Software - Fundamentos
Testes de Software - FundamentosLucas Amaral
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos Raquel Machado
 
PBD Select e restrições para Select
PBD Select e restrições para SelectPBD Select e restrições para Select
PBD Select e restrições para SelectElaine Cecília Gatto
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Banco de questões qualidade de software
Banco de questões qualidade de softwareBanco de questões qualidade de software
Banco de questões qualidade de softwareBruno Nascimento
 
Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Nilesh Nevrekar
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
 
Catastrophic Engineering Failure
Catastrophic Engineering FailureCatastrophic Engineering Failure
Catastrophic Engineering FailureLiving Online
 

What's hot (17)

Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Testes de Software - Fundamentos
Testes de Software - FundamentosTestes de Software - Fundamentos
Testes de Software - Fundamentos
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Itil v3 estratégia de serviço
Itil v3 estratégia de serviçoItil v3 estratégia de serviço
Itil v3 estratégia de serviço
 
Codigo limpo
Codigo limpoCodigo limpo
Codigo limpo
 
Gdt tutorial
Gdt tutorialGdt tutorial
Gdt tutorial
 
PBD Select e restrições para Select
PBD Select e restrições para SelectPBD Select e restrições para Select
PBD Select e restrições para Select
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD
BDD TDD ATDD
 
Como Fazer a Integração entre BPM e SOA
Como Fazer a Integração entre BPM e SOAComo Fazer a Integração entre BPM e SOA
Como Fazer a Integração entre BPM e SOA
 
Limits Gauges
Limits GaugesLimits Gauges
Limits Gauges
 
Banco de questões qualidade de software
Banco de questões qualidade de softwareBanco de questões qualidade de software
Banco de questões qualidade de software
 
ISO 15504
ISO 15504ISO 15504
ISO 15504
 
Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
Catastrophic Engineering Failure
Catastrophic Engineering FailureCatastrophic Engineering Failure
Catastrophic Engineering Failure
 

Viewers also liked

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 programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
Aula 03 generalização e especialização
Aula 03   generalização e especializaçãoAula 03   generalização e especialização
Aula 03 generalização e especializaçãoRoitier Gonçalves
 
Stylesguide - Padronização de código
Stylesguide - Padronização de códigoStylesguide - Padronização de código
Stylesguide - Padronização de códigoMac Giovanni
 
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 InterfaceFelipe J. R. Vieira
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02thomasdacosta
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Adriano Tavares
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Sociedade e vida cotidiana na América Portuguesa
Sociedade e vida cotidiana na América PortuguesaSociedade e vida cotidiana na América Portuguesa
Sociedade e vida cotidiana na América PortuguesaEdenilson Morais
 
Sociedade e vida cotidiana na américa portuguesa
Sociedade e vida cotidiana na américa portuguesaSociedade e vida cotidiana na américa portuguesa
Sociedade e vida cotidiana na américa portuguesaEdenilson Morais
 
What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)Rudy De Busscher
 

Viewers also liked (13)

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)
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Aula 03 generalização e especialização
Aula 03   generalização e especializaçãoAula 03   generalização e especialização
Aula 03 generalização e especialização
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Ember JS Brasil
Ember JS BrasilEmber JS Brasil
Ember JS Brasil
 
Stylesguide - Padronização de código
Stylesguide - Padronização de códigoStylesguide - Padronização de código
Stylesguide - Padronização de código
 
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
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Sociedade e vida cotidiana na América Portuguesa
Sociedade e vida cotidiana na América PortuguesaSociedade e vida cotidiana na América Portuguesa
Sociedade e vida cotidiana na América Portuguesa
 
Sociedade e vida cotidiana na américa portuguesa
Sociedade e vida cotidiana na américa portuguesaSociedade e vida cotidiana na américa portuguesa
Sociedade e vida cotidiana na américa portuguesa
 
What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)What is tackled in the Java EE Security API (Java EE 8)
What is tackled in the Java EE Security API (Java EE 8)
 

Similar to Especialização e generalização em java

Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfAndreCosta502039
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/Rodrigo Vieira
 
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetosguest9b4c7f
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )PeslPinguim
 
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16marcusNOGUEIRA
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceArthur Emanuel
 
Desenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a ObjectosDesenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a ObjectosVitor Silva
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5oliveiraprog
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1Filipo Mór
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012Luís Cobucci
 
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 vbaWanderlei Silva do Carmo
 

Similar to Especialização e generalização em java (20)

Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetos
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )
 
Aula02
Aula02Aula02
Aula02
 
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
Conceitos de Orientação a Objeto e Exemplos no Estudo de Caso do TRT-16
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, Interface
 
Desenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a ObjectosDesenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a Objectos
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012
 
Java7
Java7Java7
Java7
 
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
 
Virada Tecnológica 2017
Virada Tecnológica 2017Virada Tecnológica 2017
Virada Tecnológica 2017
 

Recently uploaded

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.docx2m Assessoria
 
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.docx2m Assessoria
 
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 CalisthenicsDanilo Pinotti
 
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.docx2m Assessoria
 
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.docx2m Assessoria
 
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 exemploDanilo Pinotti
 

Recently uploaded (6)

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

Especialização e generalização em java

  • 1.
  • 2. Diogo Vinícius Winck diogo.winck@gmail.com gtalk: diogo.winck@gmail.com skype: diogo.winck site: www.winck.biz
  • 3. Objetivo Os objetivos da aula de hoje são: • Generalização e especialização • Tipos de Herança
  • 4. Quem pode definir o que é um especialista?
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Liste exemplos de agregações. Liste exemplos de especialização
  • 10. Por que não usar o termo herança? Herança implica em: • Duas pessoas diferentes • Uma pessoa morre • Outra ganha o espólio... Mas: • Uma tesoura de criança é um tipo especial de tesoura: só existe um objeto, não há morte e não tem espólio.
  • 11. modelando Funcionario FuncionarioComissionado nome: String comissao: double sobrenome: String vendas: double salario: double getNome(): String zerarVendas():void getSobrenome: String addVenda(valor:double):void getSalario: double calcularSalario():double
  • 12. Quantos métodos um objeto da Classe FuncionarioComissionado possui?
  • 13. Superclasse e subclasse • Superclasse é a classe mais genérica (também chamada de classe mãe). • Subclasse é a classe mais especializada (também é chamada de classe filha) Super NumberFormat ChoiceFormat DecimalFormat
  • 14. Exercício Crie as classes: • Funcionário e • FuncionárioComissionado • O método calcularSalario é definido por: • salario + (vendas * comissao)/100
  • 15. Exercício Crie um programa que utilize tanto funcionário quanto funcionário comissionado.
  • 16. Interfaces Considere a interface abaixo: public interface VoadorInteface{ public void decolar(); public void voar(); public void pousar(); }
  • 17. Quais objetos implementam esta interface? Podemos dizer que cada um deles possui a relação “é um” com esta interface?
  • 18. Algumas informações Composição: uma classe implementada usando objetos (classes) como propriedades internas. Delegação: é o processo onde um objeto passa uma mensagem para outro objeto, para que este forneça algum serviço (execute um método). Herança Múltipla: quando há mais de uma superclasse. Não é completamente suportado no java!
  • 19. Quais são exemplos de composição? Quais são exemplos de delegação?
  • 20. Visibilidade Impõe uma relação entre superclasse e a subclasse. • Público: totalmente acessível tanto no escopo entre super/sub quanto com qualquer outra classe acessibilidade • Protegido: Acessível somente no escopo super/sub. • Privado: acessível somente no escopo da classe.
  • 21. Trabalho para próxima aula • Elaborar um estudo sobre a API Collections do Java. • O que é uma API? • Quais interfaces ela disponibiliza? • Quais classes ela disponibiliza? • Qual a diferença entre um ArrayList e um LinkedList? • O que são Maps? • O que são Hash? • Deve ser elaborado uma apresentação e um artigo. Alguns pessoas serão convidadas a apresentar. • Pode ser em dupla.
  • 22. Referências Bibliográficas • As imagens foram pesquisadas junto a banco de imagens da Microsoft. • SINTES, Anthony. Aprenda programação orientada a objetos em 21 dias. 1. ed. São Paulo: Pearson Makron Books, 2002-2010.