SlideShare ist ein Scribd-Unternehmen logo
1 von 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.

Weitere ähnliche Inhalte

Was ist angesagt?

Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDB
JDSBD
 

Was ist angesagt? (20)

Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDB
 
Desenvolvimento Web com Java Script Full Stack
Desenvolvimento Web com Java Script Full StackDesenvolvimento Web com Java Script Full Stack
Desenvolvimento Web com Java Script Full Stack
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
Python
PythonPython
Python
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Algoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - VetoresAlgoritmos - Aula 07 A - Vetores
Algoritmos - Aula 07 A - Vetores
 
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios ResolucaoBD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
BD I - Aula 08 B - Algebra Relacional - Exercicios Resolucao
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao React
 
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
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 

Andere mochten auch

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
 
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
Roitier Gonçalves
 
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
Leonardo Melo Santos
 

Andere mochten auch (12)

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

Ähnlich wie Especialização e generalização em 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
guest9b4c7f
 
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
Vitor Silva
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
oliveiraprog
 

Ähnlich wie 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
 

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.