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?

Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesRegis Magalhães
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - JavaArthur Emanuel
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em javaManoel Afonso
 
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
 
O Scratch no ensino da programação
O Scratch no ensino da programaçãoO Scratch no ensino da programação
O Scratch no ensino da programaçãoJoão Sá
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsHelder da Rocha
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2João Piedade
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Javabackdoor
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 

Was ist angesagt? (20)

POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Encapsulamento em oo
Encapsulamento em ooEncapsulamento em oo
Encapsulamento em oo
 
02 historia da programação
02   historia da programação02   historia da programação
02 historia da programação
 
Tratamento de erros
Tratamento de errosTratamento de erros
Tratamento de erros
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
O Scratch no ensino da programação
O Scratch no ensino da programaçãoO Scratch no ensino da programação
O Scratch no ensino da programação
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Linguagem Java
Linguagem JavaLinguagem Java
Linguagem Java
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
Java 13 Excecoes
Java 13 ExcecoesJava 13 Excecoes
Java 13 Excecoes
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 

Andere mochten auch

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
 

Andere mochten auch (11)

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 Modelo de classes Funcionário e FuncionárioComissionado

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
 

Ähnlich wie Modelo de classes Funcionário e FuncionárioComissionado (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
 

Modelo de classes Funcionário e FuncionárioComissionado

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