SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
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

Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Victor Rentea
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional AndroidLucas Damasceno
 
O que é framework
O que é frameworkO que é framework
O que é frameworkfcdigital
 
[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 NetbeansLoiane Groner
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-phpdiogoa21
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Gustavo Zimmermann
 
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - MatrizesLoiane Groner
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 

Mais procurados (20)

Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
JAVA - Matrizes
JAVA - MatrizesJAVA - Matrizes
JAVA - Matrizes
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
O que é framework
O que é frameworkO que é framework
O que é framework
 
[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 e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
 
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Aula 03-deadlock
Aula 03-deadlockAula 03-deadlock
Aula 03-deadlock
 
Aula 05 - Java Script Básico
Aula 05 -  Java Script BásicoAula 05 -  Java Script Básico
Aula 05 - Java Script Básico
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 

Semelhante a Conceitos Básicos de OO e Java

Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Apresentação 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) v1Marcelo Zeferino
 
Linguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY NetworksLinguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY Networks3Way Networks
 
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.0Thiago Dieb
 
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 01John Godoi
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5Diego Pacheco
 
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 1Thyago Maia
 

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

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 

Último (20)

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 

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.