SlideShare a Scribd company logo
1 of 35
Download to read offline
Programação Orientada a Objectos (OOP) - Part 1: Java Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt Cursos de Verão na Católica 2010
Conteúdo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Objectos no mundo real ,[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]
Objectos no mundo real ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(O comportamento não se refere necessariamente a comportamento autónomo, mas simplesmente a acções que o objecto pode realizar.)
Classes no mundo real ,[object Object],[object Object],[object Object]
Classes em OOP ,[object Object],[object Object],[object Object],[object Object],http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Um exemplo concreto: Classe Veículo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Comportamento: -  Arrancar - Travar - Acelerar - Buzinar - Encher Depósito - *Parado? - *Mostrar Estado * Em OOP não temos de nos cingir à realidade :)
Um exemplo concreto:  Classe Veículo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Comportamento: - Arrancar - Travar - Acelerar - Buzinar - Encher Depósito - *Parado? - *Mostrar Estado ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OOP Concepts Encapsulation keep implementation private and separate from interface •  Polymorphism different objects, same interface •  Inheritance hierarchical organization, share code, customize or extend behaviors
Classe Veículo em Java ,[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]
Encapsulamento ,[object Object],[object Object],[object Object],[object Object]
Encapsulamento ,[object Object],[object Object],[object Object]
Encapsulamento em Java  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java: Variáveis e Métodos de Classe e de Instância ,[object Object],[object Object],[object Object],[object Object],[object Object]
Java: Variáveis e Métodos de Classe e de Instância ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java: Variáveis e Métodos de Classe e de Instância ,[object Object],[object Object],[object Object],[object Object]
Construtores ,[object Object],[object Object]
Construtores em Java  ,[object Object],[object Object],[object Object]
Construtores em Java  ,[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],public static void main(String args[]) {      Veiculo v = new Veiculo();      Veiculo v1 = new Veiculo(130, 0, 3, 2);      v.mostrarEstado();      v1.mostrarEstado(); } Projecto Java-Construtor
Destrutores ,[object Object],[object Object],[object Object],[object Object]
Herança ,[object Object],[object Object],[object Object]
Herança ,[object Object],[object Object],[object Object],[object Object]
Herança ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Herança em Java ,[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],[object Object]
Method Overriding ,[object Object],[object Object]
Method overriding ,[object Object],[object Object]
Method overriding em Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],public class Bicicleta extends Veiculo{       // Construtores      // Outros métodos      @Override      public void buzinar() {          System.out.println("Buzinar bicicleta: ring ring!");      } } Automovel a = new Automovel(130, 20, 4, 4); a.buzinar(); Bicicleta b = new Bicicleta(); b.buzinar();
Exercício ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercício public class Fraction { int numerator; int denominator; public void setTo(int n, int d) { this.numerator = n; this.denominator = d; } public Fraction add(Fraction f) { Fraction result = new Fraction(); int resultNum, resultDenom; resultNum = this.numerator*f.denominator + this.denominator*f.numerator; resultDenom = this.denominator * f.denominator; result.setTo(resultNum, resultDenom); result.reduce(); return result;          }
Exercício public class Calculator { Fraction operand1, operand2; public Calculator(Fraction frac1, Fraction frac2) { operand1 = frac1; operand2 = frac2; } public Fraction performOperation(char op) { Fraction result = new Fraction(); switch(op) { case '+': result = operand1.add(operand2); break; case '-': result = operand1.subtract(operand2); break; case '*': result = operand1.multiply(operand2); break; case '/': result = operand1.divide(operand2); break; } return result; } }
Exercício                                   Fraction f1 = new Fraction(); Fraction f2 = new Fraction(); Fraction result; f1.setTo(1, 4); f2.setTo(1, 4); Calculator calc = new Calculator(f1, f2); result = calc.performOperation('+'); result.print();
Strings ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Strings ,[object Object],[object Object],[object Object],[object Object],[object Object]
Referências ,[object Object],[object Object],[object Object],[object Object]
Fim ,[object Object],[object Object],Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt http://slideshare.net/jorgecardoso (tag: cvc2010) Código fonte:  http://db.tt/AOFOfA2

More Related Content

What's hot

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
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Natanael Fonseca
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetosMateus Parente
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)Armando Daniel
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)Mario Sergio
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoMarconi Rodrigues
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
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âmetrosMaurício Linhares
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 

What's hot (20)

3- POO
3- POO3- POO
3- POO
 
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/
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetos
 
Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Guia Rápido Java
Guia Rápido JavaGuia Rápido Java
Guia Rápido Java
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)
 
Aula05
Aula05Aula05
Aula05
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Conhecendo o Spring
Conhecendo o SpringConhecendo o Spring
Conhecendo o Spring
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
Aula5
Aula5Aula5
Aula5
 
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
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 

Similar to OOP Java

Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)jose-junior89
 
jQuery básico (parte 1)
jQuery básico (parte 1)jQuery básico (parte 1)
jQuery básico (parte 1)Luís Cobucci
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryHarlley Oliveira
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVAWillian Magalhães
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Sérgio Souza Costa
 
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 JavaArthur Emanuel
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0César Augusto Pessôa
 
JavaScript agora é sério (TDC 2011)
JavaScript agora é sério (TDC 2011)JavaScript agora é sério (TDC 2011)
JavaScript agora é sério (TDC 2011)Luciano Ramalho
 

Similar to OOP Java (20)

Java7
Java7Java7
Java7
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 
jQuery básico (parte 1)
jQuery básico (parte 1)jQuery básico (parte 1)
jQuery básico (parte 1)
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
OOP ObjC
OOP ObjCOOP ObjC
OOP ObjC
 
Javascript Ilegível
Javascript IlegívelJavascript Ilegível
Javascript Ilegível
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 
Power mock
Power mockPower mock
Power mock
 
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
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
JavaScript agora é sério (TDC 2011)
JavaScript agora é sério (TDC 2011)JavaScript agora é sério (TDC 2011)
JavaScript agora é sério (TDC 2011)
 

More from Jorge Cardoso

Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...Jorge Cardoso
 
Criação de Ambientes de Realidade Virtual usando A-Frame
Criação de Ambientes  de Realidade Virtual  usando A-FrameCriação de Ambientes  de Realidade Virtual  usando A-Frame
Criação de Ambientes de Realidade Virtual usando A-FrameJorge Cardoso
 
Journal of Science and Technology of the Arts
Journal of Science and Technology of the ArtsJournal of Science and Technology of the Arts
Journal of Science and Technology of the ArtsJorge Cardoso
 
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic AugmentationEvaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic AugmentationJorge Cardoso
 
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...Jorge Cardoso
 
Digital tools for exploring roman mosaic
Digital tools for exploring roman mosaicDigital tools for exploring roman mosaic
Digital tools for exploring roman mosaicJorge Cardoso
 
Interaction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual realityInteraction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual realityJorge Cardoso
 
Interacção em ambientes de realidade virtual
Interacção em ambientes de realidade virtualInteracção em ambientes de realidade virtual
Interacção em ambientes de realidade virtualJorge Cardoso
 
PhD defense presentation
PhD defense presentationPhD defense presentation
PhD defense presentationJorge Cardoso
 
Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...Jorge Cardoso
 
Evaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applicationsEvaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applicationsJorge Cardoso
 
Interaction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive artInteraction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive artJorge Cardoso
 
PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012Jorge Cardoso
 
PuReWidgets toolkit
PuReWidgets toolkit PuReWidgets toolkit
PuReWidgets toolkit Jorge Cardoso
 
Assessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared InteractionAssessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared InteractionJorge Cardoso
 
Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Jorge Cardoso
 
Computer vision techniques for interactive art
Computer vision techniques for interactive artComputer vision techniques for interactive art
Computer vision techniques for interactive artJorge Cardoso
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing Jorge Cardoso
 
Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)Jorge Cardoso
 

More from Jorge Cardoso (20)

Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...Criação de Ambientes  de Realidade Virtual  usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
 
Criação de Ambientes de Realidade Virtual usando A-Frame
Criação de Ambientes  de Realidade Virtual  usando A-FrameCriação de Ambientes  de Realidade Virtual  usando A-Frame
Criação de Ambientes de Realidade Virtual usando A-Frame
 
Journal of Science and Technology of the Arts
Journal of Science and Technology of the ArtsJournal of Science and Technology of the Arts
Journal of Science and Technology of the Arts
 
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic AugmentationEvaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
 
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
 
Digital tools for exploring roman mosaic
Digital tools for exploring roman mosaicDigital tools for exploring roman mosaic
Digital tools for exploring roman mosaic
 
Interaction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual realityInteraction techniques for locomotion in virtual reality
Interaction techniques for locomotion in virtual reality
 
Interacção em ambientes de realidade virtual
Interacção em ambientes de realidade virtualInteracção em ambientes de realidade virtual
Interacção em ambientes de realidade virtual
 
PhD defense presentation
PhD defense presentationPhD defense presentation
PhD defense presentation
 
Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...Dynamic graphical user interface generation for web-based public display appl...
Dynamic graphical user interface generation for web-based public display appl...
 
Evaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applicationsEvaluation of a programming toolkit for interactive public display applications
Evaluation of a programming toolkit for interactive public display applications
 
Interaction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive artInteraction modalities, technologies and tools for interactive art
Interaction modalities, technologies and tools for interactive art
 
PuReWidgets toolkit
PuReWidgets toolkitPuReWidgets toolkit
PuReWidgets toolkit
 
PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012PuReWidgets presentation at EICS 2012
PuReWidgets presentation at EICS 2012
 
PuReWidgets toolkit
PuReWidgets toolkit PuReWidgets toolkit
PuReWidgets toolkit
 
Assessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared InteractionAssessing Feedback for Indirect Shared Interaction
Assessing Feedback for Indirect Shared Interaction
 
Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao Conceitos fundamentais de_programacao
Conceitos fundamentais de_programacao
 
Computer vision techniques for interactive art
Computer vision techniques for interactive artComputer vision techniques for interactive art
Computer vision techniques for interactive art
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
 
Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)
 

Recently uploaded

Como bem castigar os escravos - Jorge Benci 1700.pdf
Como bem castigar os escravos - Jorge Benci 1700.pdfComo bem castigar os escravos - Jorge Benci 1700.pdf
Como bem castigar os escravos - Jorge Benci 1700.pdfTiagoGarros
 
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...excellenceeducaciona
 
CADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdf
CADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdfCADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdf
CADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdfPaulissandraCoelho1
 
4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...
4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...
4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...excellenceeducaciona
 
Texto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavrasTexto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavrasEdileneAlves18
 
Regimento da ADUFC-Seção Sindical do ANDES-SN
Regimento da ADUFC-Seção Sindical do ANDES-SNRegimento da ADUFC-Seção Sindical do ANDES-SN
Regimento da ADUFC-Seção Sindical do ANDES-SNADUFC S.Sind
 
Trabalho Faculdade AD1 Didática - 2024 P
Trabalho Faculdade AD1 Didática - 2024 PTrabalho Faculdade AD1 Didática - 2024 P
Trabalho Faculdade AD1 Didática - 2024 PWallasTmara
 
Ensino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino ReligiosoEnsino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino ReligiosoLUZIATRAVASSO1
 
2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...
2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...
2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...Unicesumar
 
trabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogiatrabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogiakarinareserva924
 
Exercícios_Figuras_de_Linguagem para fundamental e medio
Exercícios_Figuras_de_Linguagem  para fundamental e medioExercícios_Figuras_de_Linguagem  para fundamental e medio
Exercícios_Figuras_de_Linguagem para fundamental e medioFernanda Mota
 
AULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptx
AULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptxAULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptx
AULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptxJosé Roberto Pinto
 
Farmacologia: interação fármaco receptor. Conceitos básicos em farmacologia
Farmacologia: interação fármaco receptor. Conceitos básicos em farmacologiaFarmacologia: interação fármaco receptor. Conceitos básicos em farmacologia
Farmacologia: interação fármaco receptor. Conceitos básicos em farmacologiajosemarquesfranco
 
Introdução à Cartografia e Geoprocessamento - Conceitos Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos  BásicosIntrodução à Cartografia e Geoprocessamento - Conceitos  Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos BásicosVitor Vieira Vasconcelos
 
Dengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docxDengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docxAndré Morária
 
Projeto escolar dia da água educação infantil e fundamental
Projeto escolar dia da água educação infantil e fundamentalProjeto escolar dia da água educação infantil e fundamental
Projeto escolar dia da água educação infantil e fundamentalDiana328805
 

Recently uploaded (20)

NBR 14724.2011. Trabalhos acadêmicos. 1s24.pdf
NBR 14724.2011. Trabalhos acadêmicos. 1s24.pdfNBR 14724.2011. Trabalhos acadêmicos. 1s24.pdf
NBR 14724.2011. Trabalhos acadêmicos. 1s24.pdf
 
Como bem castigar os escravos - Jorge Benci 1700.pdf
Como bem castigar os escravos - Jorge Benci 1700.pdfComo bem castigar os escravos - Jorge Benci 1700.pdf
Como bem castigar os escravos - Jorge Benci 1700.pdf
 
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
 
Complementação: Aplicando as Normas da ABNT. 1s24.pdf
Complementação: Aplicando as Normas da ABNT. 1s24.pdfComplementação: Aplicando as Normas da ABNT. 1s24.pdf
Complementação: Aplicando as Normas da ABNT. 1s24.pdf
 
CADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdf
CADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdfCADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdf
CADERNO_DE_CULTURA_ESPANHOLA_E_HISPANO-AMERICANA.pdf
 
NBR 6023/2018 (Corrigida em 2020). Referências. 1s24.pdf
NBR 6023/2018 (Corrigida em 2020). Referências. 1s24.pdfNBR 6023/2018 (Corrigida em 2020). Referências. 1s24.pdf
NBR 6023/2018 (Corrigida em 2020). Referências. 1s24.pdf
 
4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...
4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...
4) Por fim, discorra sobre como a inovação pode representar uma estratégia co...
 
Texto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavrasTexto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavras
 
Regimento da ADUFC-Seção Sindical do ANDES-SN
Regimento da ADUFC-Seção Sindical do ANDES-SNRegimento da ADUFC-Seção Sindical do ANDES-SN
Regimento da ADUFC-Seção Sindical do ANDES-SN
 
Trabalho Faculdade AD1 Didática - 2024 P
Trabalho Faculdade AD1 Didática - 2024 PTrabalho Faculdade AD1 Didática - 2024 P
Trabalho Faculdade AD1 Didática - 2024 P
 
Ensino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino ReligiosoEnsino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino Religioso
 
2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...
2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...
2. É possível a denúncia do Estado agressor junto ao Tribunal Penal Internaci...
 
trabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogiatrabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogia
 
Os textos contemporâneos na construção da opinião.
Os textos contemporâneos na construção  da opinião.Os textos contemporâneos na construção  da opinião.
Os textos contemporâneos na construção da opinião.
 
Exercícios_Figuras_de_Linguagem para fundamental e medio
Exercícios_Figuras_de_Linguagem  para fundamental e medioExercícios_Figuras_de_Linguagem  para fundamental e medio
Exercícios_Figuras_de_Linguagem para fundamental e medio
 
AULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptx
AULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptxAULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptx
AULA-05---TRANSITIVIDADE-VERBAL-I_bc6ac78f0ec049a9bf66e829ce05ac19.pptx
 
Farmacologia: interação fármaco receptor. Conceitos básicos em farmacologia
Farmacologia: interação fármaco receptor. Conceitos básicos em farmacologiaFarmacologia: interação fármaco receptor. Conceitos básicos em farmacologia
Farmacologia: interação fármaco receptor. Conceitos básicos em farmacologia
 
Introdução à Cartografia e Geoprocessamento - Conceitos Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos  BásicosIntrodução à Cartografia e Geoprocessamento - Conceitos  Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos Básicos
 
Dengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docxDengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docx
 
Projeto escolar dia da água educação infantil e fundamental
Projeto escolar dia da água educação infantil e fundamentalProjeto escolar dia da água educação infantil e fundamental
Projeto escolar dia da água educação infantil e fundamental
 

OOP Java

  • 1. Programação Orientada a Objectos (OOP) - Part 1: Java Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt Cursos de Verão na Católica 2010
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. OOP Concepts Encapsulation keep implementation private and separate from interface • Polymorphism different objects, same interface • Inheritance hierarchical organization, share code, customize or extend behaviors
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Exercício public class Fraction { int numerator; int denominator; public void setTo(int n, int d) { this.numerator = n; this.denominator = d; } public Fraction add(Fraction f) { Fraction result = new Fraction(); int resultNum, resultDenom; resultNum = this.numerator*f.denominator + this.denominator*f.numerator; resultDenom = this.denominator * f.denominator; result.setTo(resultNum, resultDenom); result.reduce(); return result;          }
  • 30. Exercício public class Calculator { Fraction operand1, operand2; public Calculator(Fraction frac1, Fraction frac2) { operand1 = frac1; operand2 = frac2; } public Fraction performOperation(char op) { Fraction result = new Fraction(); switch(op) { case '+': result = operand1.add(operand2); break; case '-': result = operand1.subtract(operand2); break; case '*': result = operand1.multiply(operand2); break; case '/': result = operand1.divide(operand2); break; } return result; } }
  • 31. Exercício                                   Fraction f1 = new Fraction(); Fraction f2 = new Fraction(); Fraction result; f1.setTo(1, 4); f2.setTo(1, 4); Calculator calc = new Calculator(f1, f2); result = calc.performOperation('+'); result.print();
  • 32.
  • 33.
  • 34.
  • 35.