SlideShare uma empresa Scribd logo
Conceitos básicos de
Orientação a Objetos e
Java
Programação I
Curso de Sistemas para Internet
Charles Tiago Jungbeck
jungbeck@gmail.com
Programação I
Roteiro
 Algo que você precisa saber
 O que é Java
 Diferenças entre Java e Pascal
 O que é a orientação a objetos (OO)
 Exemplos práticos de OO no Java
 Pilares da OO
Programação I
Algo que você precisa saber!
Programação I
O que é JAVA?
 Java é uma linguagem de programação e
plataforma computacional – lançada pela
primeira vez pela Sun Microsystems em 1995.
 Java em todos os lugares! (JAVA, 2014)
 89% dos computadores do EUA executam Java
 9 milhões de desenvolvedores no mundo
 3 bilhões de celeluras executam Java
 100% dos Blu-ray Players vêm com Java
 125 milhões de TVs executam o Java
Programação I
Objetivos do Java
 Sistemas de médio e grande porte, onde o time
de desenvolvedores tem várias pessoas.
 Criar aplicações sofisticadas usando diversas
bibliotecas (XML, código de barras, vídeo).
 Permitir o desenvolvimento de aplicações
portáteis de alto desempenho para a mais
ampla variedade de plataformas (JAVA, 2014).
Programação I
Como funciona o Pascal?
 Em uma linguagem de programação como C e
Pascal, temos o seguinte:
Program area;
Var
l, c, a: real;
Begin
...
Windows
Código fonte
em Pascal
Código binário para
determinado SO
compila
 Assim, é necessário compilar uma vez para
Windows, outra para Linux. Esse é o caso de
muitos aplicativos, como Firefox e OpenOffice.
Programação I
Como funciona o Java?
 Máquina virtual Java (JVM) – camada.
Class Carro {
…
}
Carro();
Code:
0: aload_0
1: invokespecial
4: return
compila
JVM Windows
JVM Linux
Código fonte
em java ByteCode java
 Indepedência: tendo a JVM, vários dispositivos
com diferentes SO podem rodar a aplicação
(SIERRA e BATES, 2005, p. 6).
Programação I
Java e OO
 O Java possui a seguinte estrutura de código:
Arquivo de código fonte
Classe
Método1
instruções
Método2
instruções
 O arquivo de código fonte
(.java) contém uma
definição de classe.
 A classe é uma parte de
um programa.
 Uma classe tem um ou
mais métodos.
 Aqui aparecem conceitos de Orientação a
Objetos. O que é isso?
Programação I
Programação Orientada a Objetos
 A POO é um paradigma de programação que
usa os conceitos de Classes e Objetos.
 É uma maneira de programar.
 Os conceitos de POO surgiram em meados de
1960 com a linguagem Simula-68.
 Alan Kay da Xerox, aprimorou esses conceitos
em 1970 com a linguagem SmallTalk.
 Principal vantagem: Reutilização de código
Programação I
Só Java é OO?
 Resposta:
Não.
 Diversas
linguagens de
programação
suportam a
orientação a
objetos.
Programação I
Como funciona a POO?
 Um programa é visto como um conjunto de
objetos que se comunicam.
 A colaboração entre os objetos é feita através
do envio de mensagens.
Objeto1
Objeto3
Objeto2
Objeto5
Objeto4
Programação I
Objetos
 Um objeto é uma construção de software que
encapsula características e comportamentos. É
uma instância de uma classe (SINTES, 2002,
p. 7).
 Usados para representar entidades do mundo
real (carro, pessoa) ou computacional /
abstrato (uma reserva de passagem, um
pagamento).
Programação I
Objetos
 Possuem 3 aspectos principais:
 Características (atributos ou dados)
 Objeto Pessoa: Nome, RG, peso, altura
 Comportamentos (métodos ou operações)
 Objeto Pessoa: andar, correr, dirigirCarro
 Identidade (cada objeto é único)
Programação I
Classes
 Uma classe descreve um conjunto de objetos
que possuem características (atributos) e
comportamentos (métodos) comuns.
 Cada classe funciona como um molde para a
criação de um objeto.
 Os objetos são vistos
como representações
concretas (instâncias)
das classes.
Programação I
Criando uma classe no Java
class Carro {
String modelo;
String cor;
int ano;
void setCor(String cor){
this.cor = cor;
}
String getCor(){
return this.cor;
}
}
Nome da classe
escolhido pelo
programador. Por
padrão, utiliza-se
a primeira letra
em maiúscula
Conjunto de
características
dos objetos da
classe Carro.
Tipo Nome
Métodos ou
operações da
classe.
void setCor(String cor){
this.cor = cor;
}
Tipo de retorno
ou void quando
não há retorno
Nome do
método
Parâmetros
Arquivo Carro.java
Programação I
Método main no Java
 Para que um programa Java execute, é
necessário ter um método chamado main.
 O método main é onde o programa começa a
ser executado (SIERRA e BATES, 2005, p. 6).
 Exemplo:
public class Main {
public static void main(String[] args){
System.out.println("Isso vai aparecer na tela");
}
}
Arquivo Main.java
Programação I
Criando um objeto no Java
 Instância = objeto.
 Um objeto ou instância é criado através do
operador new.
public class Main {
public static void main(String[] args){
Carro meuCarro = new Carro();
meuCarro.setCor("Vermelho");
System.out.println("Cor do carro: "+meuCarro.getCor());
}
}
Arquivo Main.java
Programação I
Pilares da OO
 A Orientação a Objetos baseia-se sobre os
seguintes pilares (SINTES, 2002, p. 22):
Orientação a Objetos
Encapsulamento
Herança
Polimorfismo
Programação I
Pilares da OO
 Encapsulamento
 Os objetos encapsulados funcionam como uma
caixa preta, sabe-se da sua interface externa, mas
não precisa se preocupar com o que acontece
dentro dela (SINTES, 2002, p. 23).
 Níveis de acesso:
 Público (garante o acesso a todos os objetos)
 Protegido (garante o acesso para aquele objeto e
todas as subclasses)
 Privado (garante o acesso somente para aquele
objeto)
Programação I
Pilares da OO
 Herança
 É um mecanismo que permite a você basear uma
nova classe na definição de uma classe
previamente existente. Usando herança, sua nova
classe herda todos os atributos e comportamentos
presentes na classe previamente existente
(SINTES, 2002, p. 73).
 Exemplo:
Pessoa
Funcionário
Professor
Programação I
Pilares da OO
 Polimorfismo
 Ter muitas formas. Em termos de programação,
muitas formas significa que um único nome pode
representar um código diferente, selecionado por
algum mecanismo automático. Assim, o
polimorfismo permite que um único nome expresse
muitos comportamentos diferentes (SINTES, 2002,
p. 122).
 Exemplo: método calcularSalario para um professor
ou funcionário
Programação I
Resumo
 Para programar em Java você precisa saber
construir algoritmos.
 Java: linguagem de programação orientada a
objetos muito usada em todo o mundo.
 Usada para sistemas portáteis de médio e
grande porte.
 Aplicações em Java não dependem da
plataforma utilizada pelo usuário, basta ele ter
a Máquina Virtual Java.
Programação I
Resumo
 Java é uma das principais linguagens de
programação que utiliza o paradigma de OO.
 Paradigma = maneira de programar.
 Objetos que se comunicam através de
mensagens.
 Objeto: real ou abstrato que possui atributos e
operações.
 Classe = molde para a criação do objeto.
Programação I
Resumo
 OO baseia-se sobre 3 pilares:
Encapsulamento, Herança e Polimorfismo.
Programação I
Atividade
 1. Identifique alguns atributos para as classes:
Livro, Funcionário, Aluno e Celular.
 2. Qual a diferença entre Atributos e Métodos?
 3. De acordo com o exemplo visto (Carro.java),
crie no Bloco de Notas uma classe chamada
Livro e especifique seus atributos e métodos.
Programação I
Referencias
BARNES, D. J.; KÖLLING M. Programação orientada a objetos com Java. 4ª ed. São
Paulo: Grupo Pearson, 2009.
CAELUM. Java e Orientação a Objetos. Disponível em:
<http://www.caelum.com.br/apostila-java-orientacao-objetos/>. Acesso em: 20 maio
2014.
DEITEL, H. M.; DEITEL, P. J. Java – Como programar. 4ª ed. Porto Alegre: Bookman,
2003.
JAVA. Obtenha informações sobre a tecnologia Java. Disponível em:
<www.java.com/pt_BR/about>. Acesso em: 20 maio 2014.
SIERRA, K.; BATES, B. Use a Cabeça! Java. 2ª ed. Rio de Janeiro: Alta Books, 2005.
SINTES, A. Aprenda programação orientada a objetos em 21 dias. 1ª ed. São Paulo:
Makron Books, 2002.

Mais conteúdo relacionado

Mais procurados

Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
Bruno Grange
 

Mais procurados (20)

Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Seminário - Linguagem Dart: Structured web apps
Seminário - Linguagem Dart: Structured web appsSeminário - Linguagem Dart: Structured web apps
Seminário - Linguagem Dart: Structured web apps
 
Engenharia dos cargos de UI, UX, PM
Engenharia dos cargos de UI, UX, PMEngenharia dos cargos de UI, UX, PM
Engenharia dos cargos de UI, UX, PM
 
[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13
 
[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 14: Condicionais If-Else
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
 
Curso Java Basico] Aula 19: Vetores (Arrays)
Curso Java Basico] Aula 19:  Vetores (Arrays)Curso Java Basico] Aula 19:  Vetores (Arrays)
Curso Java Basico] Aula 19: Vetores (Arrays)
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 

Semelhante a Conceitos Básicos de OO e Java

Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
jmtofoli
 

Semelhante a Conceitos Básicos de OO e Java (20)

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
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Linguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY NetworksLinguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY Networks
 
Java7
Java7Java7
Java7
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Minicurso Java
Minicurso JavaMinicurso Java
Minicurso Java
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
java
javajava
java
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 

Último

AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
ssuserbb4ac2
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
rarakey779
 
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
edjailmax
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
rarakey779
 
Obra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina DireitoObra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina Direito
rarakey779
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
rarakey779
 

Último (20)

DESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptx
DESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptxDESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptx
DESAFIO FILOSÓFICO - 1ª SÉRIE - SESI 2020.pptx
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptxCIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
 
hereditariedade é variabilidade genetic
hereditariedade é variabilidade  genetichereditariedade é variabilidade  genetic
hereditariedade é variabilidade genetic
 
Apresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao AssédioApresentação Formação em Prevenção ao Assédio
Apresentação Formação em Prevenção ao Assédio
 
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básicoPowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
 
Atividade com a música Xote da Alegria - Falamansa
Atividade com a música Xote  da  Alegria    -   FalamansaAtividade com a música Xote  da  Alegria    -   Falamansa
Atividade com a música Xote da Alegria - Falamansa
 
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdfmanual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
manual-de-direito-civil-flacc81vio-tartuce-2015-11.pdf
 
Conteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persaConteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persa
 
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
5ca0e9_ea0307e5baa1478490e87a15cb4ee530.pdf
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anos
 
Atividade português 7 ano página 38 a 40
Atividade português 7 ano página 38 a 40Atividade português 7 ano página 38 a 40
Atividade português 7 ano página 38 a 40
 
Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
 
Evangelismo e Missões Contemporânea Cristã.pdf
Evangelismo e Missões Contemporânea Cristã.pdfEvangelismo e Missões Contemporânea Cristã.pdf
Evangelismo e Missões Contemporânea Cristã.pdf
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
 
Obra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina DireitoObra - Curso de Direito Tributário - Doutrina Direito
Obra - Curso de Direito Tributário - Doutrina Direito
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
 
América Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados NacionaisAmérica Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados Nacionais
 

Conceitos Básicos de OO e Java

  • 1. Conceitos básicos de Orientação a Objetos e Java Programação I Curso de Sistemas para Internet Charles Tiago Jungbeck jungbeck@gmail.com
  • 2. Programação I Roteiro  Algo que você precisa saber  O que é Java  Diferenças entre Java e Pascal  O que é a orientação a objetos (OO)  Exemplos práticos de OO no Java  Pilares da OO
  • 3. Programação I Algo que você precisa saber!
  • 4. Programação I O que é JAVA?  Java é uma linguagem de programação e plataforma computacional – lançada pela primeira vez pela Sun Microsystems em 1995.  Java em todos os lugares! (JAVA, 2014)  89% dos computadores do EUA executam Java  9 milhões de desenvolvedores no mundo  3 bilhões de celeluras executam Java  100% dos Blu-ray Players vêm com Java  125 milhões de TVs executam o Java
  • 5. Programação I Objetivos do Java  Sistemas de médio e grande porte, onde o time de desenvolvedores tem várias pessoas.  Criar aplicações sofisticadas usando diversas bibliotecas (XML, código de barras, vídeo).  Permitir o desenvolvimento de aplicações portáteis de alto desempenho para a mais ampla variedade de plataformas (JAVA, 2014).
  • 6. Programação I Como funciona o Pascal?  Em uma linguagem de programação como C e Pascal, temos o seguinte: Program area; Var l, c, a: real; Begin ... Windows Código fonte em Pascal Código binário para determinado SO compila  Assim, é necessário compilar uma vez para Windows, outra para Linux. Esse é o caso de muitos aplicativos, como Firefox e OpenOffice.
  • 7. Programação I Como funciona o Java?  Máquina virtual Java (JVM) – camada. Class Carro { … } Carro(); Code: 0: aload_0 1: invokespecial 4: return compila JVM Windows JVM Linux Código fonte em java ByteCode java  Indepedência: tendo a JVM, vários dispositivos com diferentes SO podem rodar a aplicação (SIERRA e BATES, 2005, p. 6).
  • 8. Programação I Java e OO  O Java possui a seguinte estrutura de código: Arquivo de código fonte Classe Método1 instruções Método2 instruções  O arquivo de código fonte (.java) contém uma definição de classe.  A classe é uma parte de um programa.  Uma classe tem um ou mais métodos.  Aqui aparecem conceitos de Orientação a Objetos. O que é isso?
  • 9. Programação I Programação Orientada a Objetos  A POO é um paradigma de programação que usa os conceitos de Classes e Objetos.  É uma maneira de programar.  Os conceitos de POO surgiram em meados de 1960 com a linguagem Simula-68.  Alan Kay da Xerox, aprimorou esses conceitos em 1970 com a linguagem SmallTalk.  Principal vantagem: Reutilização de código
  • 10. Programação I Só Java é OO?  Resposta: Não.  Diversas linguagens de programação suportam a orientação a objetos.
  • 11. Programação I Como funciona a POO?  Um programa é visto como um conjunto de objetos que se comunicam.  A colaboração entre os objetos é feita através do envio de mensagens. Objeto1 Objeto3 Objeto2 Objeto5 Objeto4
  • 12. Programação I Objetos  Um objeto é uma construção de software que encapsula características e comportamentos. É uma instância de uma classe (SINTES, 2002, p. 7).  Usados para representar entidades do mundo real (carro, pessoa) ou computacional / abstrato (uma reserva de passagem, um pagamento).
  • 13. Programação I Objetos  Possuem 3 aspectos principais:  Características (atributos ou dados)  Objeto Pessoa: Nome, RG, peso, altura  Comportamentos (métodos ou operações)  Objeto Pessoa: andar, correr, dirigirCarro  Identidade (cada objeto é único)
  • 14. Programação I Classes  Uma classe descreve um conjunto de objetos que possuem características (atributos) e comportamentos (métodos) comuns.  Cada classe funciona como um molde para a criação de um objeto.  Os objetos são vistos como representações concretas (instâncias) das classes.
  • 15. Programação I Criando uma classe no Java class Carro { String modelo; String cor; int ano; void setCor(String cor){ this.cor = cor; } String getCor(){ return this.cor; } } Nome da classe escolhido pelo programador. Por padrão, utiliza-se a primeira letra em maiúscula Conjunto de características dos objetos da classe Carro. Tipo Nome Métodos ou operações da classe. void setCor(String cor){ this.cor = cor; } Tipo de retorno ou void quando não há retorno Nome do método Parâmetros Arquivo Carro.java
  • 16. Programação I Método main no Java  Para que um programa Java execute, é necessário ter um método chamado main.  O método main é onde o programa começa a ser executado (SIERRA e BATES, 2005, p. 6).  Exemplo: public class Main { public static void main(String[] args){ System.out.println("Isso vai aparecer na tela"); } } Arquivo Main.java
  • 17. Programação I Criando um objeto no Java  Instância = objeto.  Um objeto ou instância é criado através do operador new. public class Main { public static void main(String[] args){ Carro meuCarro = new Carro(); meuCarro.setCor("Vermelho"); System.out.println("Cor do carro: "+meuCarro.getCor()); } } Arquivo Main.java
  • 18. Programação I Pilares da OO  A Orientação a Objetos baseia-se sobre os seguintes pilares (SINTES, 2002, p. 22): Orientação a Objetos Encapsulamento Herança Polimorfismo
  • 19. Programação I Pilares da OO  Encapsulamento  Os objetos encapsulados funcionam como uma caixa preta, sabe-se da sua interface externa, mas não precisa se preocupar com o que acontece dentro dela (SINTES, 2002, p. 23).  Níveis de acesso:  Público (garante o acesso a todos os objetos)  Protegido (garante o acesso para aquele objeto e todas as subclasses)  Privado (garante o acesso somente para aquele objeto)
  • 20. Programação I Pilares da OO  Herança  É um mecanismo que permite a você basear uma nova classe na definição de uma classe previamente existente. Usando herança, sua nova classe herda todos os atributos e comportamentos presentes na classe previamente existente (SINTES, 2002, p. 73).  Exemplo: Pessoa Funcionário Professor
  • 21. Programação I Pilares da OO  Polimorfismo  Ter muitas formas. Em termos de programação, muitas formas significa que um único nome pode representar um código diferente, selecionado por algum mecanismo automático. Assim, o polimorfismo permite que um único nome expresse muitos comportamentos diferentes (SINTES, 2002, p. 122).  Exemplo: método calcularSalario para um professor ou funcionário
  • 22. Programação I Resumo  Para programar em Java você precisa saber construir algoritmos.  Java: linguagem de programação orientada a objetos muito usada em todo o mundo.  Usada para sistemas portáteis de médio e grande porte.  Aplicações em Java não dependem da plataforma utilizada pelo usuário, basta ele ter a Máquina Virtual Java.
  • 23. Programação I Resumo  Java é uma das principais linguagens de programação que utiliza o paradigma de OO.  Paradigma = maneira de programar.  Objetos que se comunicam através de mensagens.  Objeto: real ou abstrato que possui atributos e operações.  Classe = molde para a criação do objeto.
  • 24. Programação I Resumo  OO baseia-se sobre 3 pilares: Encapsulamento, Herança e Polimorfismo.
  • 25. Programação I Atividade  1. Identifique alguns atributos para as classes: Livro, Funcionário, Aluno e Celular.  2. Qual a diferença entre Atributos e Métodos?  3. De acordo com o exemplo visto (Carro.java), crie no Bloco de Notas uma classe chamada Livro e especifique seus atributos e métodos.
  • 26. Programação I Referencias BARNES, D. J.; KÖLLING M. Programação orientada a objetos com Java. 4ª ed. São Paulo: Grupo Pearson, 2009. CAELUM. Java e Orientação a Objetos. Disponível em: <http://www.caelum.com.br/apostila-java-orientacao-objetos/>. Acesso em: 20 maio 2014. DEITEL, H. M.; DEITEL, P. J. Java – Como programar. 4ª ed. Porto Alegre: Bookman, 2003. JAVA. Obtenha informações sobre a tecnologia Java. Disponível em: <www.java.com/pt_BR/about>. Acesso em: 20 maio 2014. SIERRA, K.; BATES, B. Use a Cabeça! Java. 2ª ed. Rio de Janeiro: Alta Books, 2005. SINTES, A. Aprenda programação orientada a objetos em 21 dias. 1ª ed. São Paulo: Makron Books, 2002.