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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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)
 

Ähnlich wie OOP Part 1: Java Classes, Objects, Constructors & Inheritance

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
 

Ähnlich wie OOP Part 1: Java Classes, Objects, Constructors & Inheritance (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)
 

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

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

Kürzlich hochgeladen

Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......suporte24hcamin
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholacleanelima11
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 

Kürzlich hochgeladen (20)

Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 

OOP Part 1: Java Classes, Objects, Constructors & Inheritance

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