SlideShare une entreprise Scribd logo
1  sur  41
INTRODUÇÃO À LINGUAGEM JAVA Verão/2003 Aula 03 Estruturação de classes em Java 08.01.2003 Prof. Luciano Silva e-mail: lucianos@ime.usp.br
Tópicos da Aula 03 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Estrutura geral de uma classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instanciação de classes ,[object Object],[object Object]
Construtores  ,[object Object],[object Object]
Exemplo de construtor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construtores implícitos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construtores sobrecarregados(I) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construtores sobrecarregados(II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Destrutores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Garbage collection ,[object Object],[object Object]
Operador de autoreferência  this ,[object Object],[object Object]
Exemplo de uso do  this ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Atributos estáticos ,[object Object],[object Object],[object Object]
Métodos estáticos ,[object Object],[object Object],[object Object],[object Object]
Exemplo de atributos e métodos estáticos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo de atributos e métodos estáticos(continuação) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Herança ,[object Object]
Exemplo para implementação de herança Funcionario nome RG salario aumenta(valor) pagamento Chefe contas gastos_extra adicional_chefia pagamento
Implementação da superclasse Funcionario ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implementação da subclasse Chefe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instanciação da subclasse ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operador de referência  super ,[object Object],[object Object]
Implementação da subclasse Chefe com super ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
POLIMORFISMO ,[object Object],Polimorfismo Universal Ad-Hoc Paramétrico  Inclusão  Sobrecarga  Coerção   (  Taxonomia de Cardelli e Wegner )
POLIMORFISMO UNIVERSAL ,[object Object],[object Object],[object Object],[object Object]
Polimorfismo universal paramétrico ,[object Object],[object Object]
Exemplo de polimorfismo universal paramétrico ( em C++) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Polimorfismo universal de inclusão ,[object Object],[object Object]
Exemplo para polimorfismo universal de inclusão Funcionario nome RG salario aumenta(valor) pagamento Chefe contas gastos_extra adicional_chefia pagamento
Implementação da superclasse Funcionario ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implementação da subclasse Chefe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Chamadas na superclasse e subclasse ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
POLIMORFISMO ad-hoc ,[object Object],[object Object],[object Object],[object Object]
POLIMORFISMO ad-hoc POR COERÇÃO ,[object Object],[object Object]
Exemplo de polimorfismo ad-hoc por coersão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
POLIMORFISMO ad-hoc POR SOBRECARGA ,[object Object],[object Object]
Exemplo de polimorfismo ad-hoc por sobrecarga ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo de polimorfismo ad-hoc por sobrecarga(continuação) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modificador final ,[object Object],[object Object],[object Object],[object Object]
Exemplo de uso de  final ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

En vedette

Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
Regis Magalhães
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
PeslPinguim
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
Danilo Alves
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
PeslPinguim
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Denis Sobrenome
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)
raquelcarsi
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
Eduardo Carvalho
 

En vedette (20)

Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)
 
ApresentaçãO De Java
ApresentaçãO De JavaApresentaçãO De Java
ApresentaçãO De Java
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
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
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Collection Framework in java
Collection Framework in javaCollection Framework in java
Collection Framework in java
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 

Similaire à introdução a linguagem java-2003

Introdução à análise orientada a objetos parte 2
Introdução à análise orientada a objetos parte 2Introdução à análise orientada a objetos parte 2
Introdução à análise orientada a objetos parte 2
irenescotolo
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classes
Carlos Melo
 
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
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
Maurício Linhares
 

Similaire à introdução a linguagem java-2003 (20)

Introdução à análise orientada a objetos parte 2
Introdução à análise orientada a objetos parte 2Introdução à análise orientada a objetos parte 2
Introdução à análise orientada a objetos parte 2
 
Aula5
Aula5Aula5
Aula5
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
 
Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2
 
Aula4
Aula4Aula4
Aula4
 
Aula 3 - Java Prof.ª Cristiane Fidelix
Aula 3 -  Java Prof.ª Cristiane FidelixAula 3 -  Java Prof.ª Cristiane Fidelix
Aula 3 - Java Prof.ª Cristiane Fidelix
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classes
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Classes Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções JavaClasses Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções Java
 
Sobrecarga operadores
Sobrecarga operadoresSobrecarga operadores
Sobrecarga operadores
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
 
Aula5
Aula5Aula5
Aula5
 
Refactoring
RefactoringRefactoring
Refactoring
 
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...
 
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)
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
10 heranca
10   heranca10   heranca
10 heranca
 
POO-FundamentosPOO.pdf
POO-FundamentosPOO.pdfPOO-FundamentosPOO.pdf
POO-FundamentosPOO.pdf
 

Plus de elliando dias

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Dernier

Dernier (6)

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

introdução a linguagem java-2003

  • 1. INTRODUÇÃO À LINGUAGEM JAVA Verão/2003 Aula 03 Estruturação de classes em Java 08.01.2003 Prof. Luciano Silva e-mail: lucianos@ime.usp.br
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Exemplo para implementação de herança Funcionario nome RG salario aumenta(valor) pagamento Chefe contas gastos_extra adicional_chefia pagamento
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Exemplo para polimorfismo universal de inclusão Funcionario nome RG salario aumenta(valor) pagamento Chefe contas gastos_extra adicional_chefia pagamento
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.