Programação Orientada a Objetos Prof. André Argeri [email protected] Ribeirão Preto,...
-
Upload
ester-schmidt-bacelar -
Category
Documents
-
view
228 -
download
6
Transcript of Programação Orientada a Objetos Prof. André Argeri [email protected] Ribeirão Preto,...
![Page 2: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/2.jpg)
Apresentação da DisciplinaConteúdo Programático– Introdução à Linguagem de Programação Java
• Estrutura Básica de um Programa Java• Tipos de Dados, Variáveis e Constantes• Operadores• Estruturas de Controle (Seleção e Repetição)• Métodos• Vetores e Matrizes• Fundamentos POO• Classes e Objetos• Atributos e Métodos• Construtores• Herança e Polimorfismo• Interfaces
![Page 3: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/3.jpg)
Apresentação da Disciplina• Objetivo Geral
– Desenvolvimento de Aplicações utilizando a linguagem Java e Programação Orientada a Objetos
![Page 4: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/4.jpg)
Apresentação da Disciplina• Bibliografia
– Sun Developer Networkhttp://java.sun.com/javaee/– DEITEL, H.M.; DEITEL, P.J. Java Como Programar 6ª Edição. São Paulo: Prentice Hall, 2005.– CORNELL, G. Core Java 2: Fundamentos – Volume 1; São Paulo: Markon Books, 2000.– BARNES, D.; KÖLLING, M. Programação Orientada a Objetos com Java (4ª Edição). São Paulo: Pearson, 2008.
![Page 5: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/5.jpg)
INTRODUÇÃOMáquina Virtual Java ou Java Virtual Machine (JVM)
– Permite que aplicações Java “rodem” independente da plataforma na qual foram desenvolvidas• Multiplataforma– Cada Sistema Operacional (SO) possui sua própriaJVM– Em linhas gerais funciona como “um computadordentro do seu computador”
![Page 6: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/6.jpg)
INTRODUÇÃOMáquina Virtual Java ou Java Virtual
Machine (JVM)
![Page 7: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/7.jpg)
INTRODUÇÃO• Processo de Compilação/Execução de um
programa Java– Compilador: javac– Interpretador: java• Exemplo– javac olamundo.java• Produz o arquivo olamundo.class– java olamundo
![Page 8: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/8.jpg)
INTRODUÇÃOO que você precisa para programar Java?
– Java Development Kit• Java SE – Standard Edition – Aplicações Desktop – http://java.sun.com/javase/downloads/index.jsp• Java EE – Enterprise Edition – Web Services, Aplicações Web, Gerenciamento, etc. – http://java.sun.com/javaee/downloads/• Java ME –Micro Edition – Aplicações Móveis (celular, pda, etc) – http://java.sun.com/javame/downloads/index.jsp
![Page 9: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/9.jpg)
INTRODUÇÃO- Ambiente de Programação
• Eclipse: http://www.eclipse.org/• NetBeans: http://www.netbeans.org/http://www.netbeans.org/downloads/index.html• Bloco de notas• Entre outros
![Page 10: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/10.jpg)
INTRODUÇÃO• O que você precisa para rodar uma
aplicação Java?– Java Runtime Environment (JRE)
• http://java.sun.com/javase/downloads/index.jsp
![Page 11: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/11.jpg)
NetBeans – Criando ProjetosArquivo;Novo Projeto;Clique em próximo;Definir Nome do projeto (Ex01);Clique em finalizar;
![Page 12: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/12.jpg)
NetBeans – Codificação• Java é case sensitive;
![Page 13: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/13.jpg)
NetBeans – ExecutandoPara rodar o projeto devemos clicar
no botão play, ou pressionar a tecla F6;
Note que quando executamos o projeto ele aparece logo abaixo (na saída);
![Page 14: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/14.jpg)
NetBeans – Conhecendo o ambiente• Editor
– Code Completion• CTRL+Space• Exemplo: IF, FOR
– Code Generation Dialogs• ALT+INSERT
– Duplicar Linhas• CTRL+SHIFT + Up ou Down
– Mover Linhas• ALT+SHIFT + Up ou Down
- RenomearCTRL+RExemplo: Variáveis
![Page 15: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/15.jpg)
Fundamentos• Convenções: Todos os nomes de classes em Java iniciam
com uma letra maiúscula e tem uma letra maiúscula para cada palavra no nome da classe. Ex: NomeDaClasse
• Estrutura Básica de um Programa Java– Importante!!!
• O nome do arquivo .java deve ter o mesmo nome da classe.• Exemplo:– public class NomeDaClasse {}– Nome do arquivo NomeDaClasse.java
![Page 16: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/16.jpg)
Fundamentos• Estrutura Básica de um Programa Java
– public class NomeDaClasse• Define o início da classe, todos os métodos que
fazem parte da classe devem ser definidos entre o
início “{“ (abre chave) e o fim “}” (fecha chave).
– public static void main(String[] args)• Determina o ponto de início da execução da classe• É possível escrever classes sem o métodos main
– No entanto para utiliza-lá é preciso instanciar esse classe em um outra classe que possua o método main
• Um projeto pode ter um único método main
![Page 17: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/17.jpg)
FundamentosIdentificadores Válidos– Os identificadores em Java consistem em letras,
dígitos, sublinhados (“_”) e sinais de cifrão (“$”),– Não podem iniciar com um digito– Não podem conter espaços em branco.– Identificadores válidos:– Valor1, $Valor1, _Valor1– Identificadores inválidos:– 1Valor, Valor 1
Essa regra aplica-se a:Nome de classes, nome de variáveis e nome de
métodos
![Page 18: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/18.jpg)
Fundamentos• Comentários– Múltiplas linhas: /* ... */– Uma linha: ///*Este programa tem como objetivo principal a exibição natela da mensagem "Olá Mundo!!!“*/public class Main { // Início da Classe // Método Principal
public static void main(String[] args) {
// Escrita da mensagem na telaSystem.out.println("Olá Mundo!!! ");
}} // Final da Classe
![Page 19: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/19.jpg)
Variáveis• A declaração de variáveis em Java
utiliza o seguinte formato
<tipodedados> <nomedavariável>
• Exemplo:– int x;– float y;– double z;
![Page 20: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/20.jpg)
Constantes• As constantes em Java são declaradas
através do modificador final e utilizam o seguinte formato
final <tipodedados> <nomedaconstante>
• Exemplo– final int x = 10;– final float valor = 1.58;
![Page 21: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/21.jpg)
Atribuição• Comandos de Atribuição
– Utilizado para atribuir valores a variáveis, sendo representado pelo símbolo = (igual)
• Exemplo 1:– x = 10; // atribui o valor 10 a variável x
![Page 22: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/22.jpg)
Tipos de Dados Primitivos
![Page 23: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/23.jpg)
Palavras Reservadas• Como em qualquer linguagem de
programação, Java também possui um conjunto de palavras reservadas.
• Essas palavras não podem ser utilizadas como
nomes de identificadores, tais como:– Nome da classe– Nome de variável ou constante– Nome de métodos– Nome de objetos
![Page 24: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/24.jpg)
Palavras Reservadas
![Page 25: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/25.jpg)
Comandos de SaídaSão utilizados para exibição de
informações na tela em modo console
– Comandos• System.out.print• System.out.println• System.out.printf
![Page 26: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/26.jpg)
Comandos de Saídapublic class Main {
public static void main(String[] args) {System.out.print("Eu estou ");System.out.print("programando em Java !!!");}
}
Atividade:• Modifique o programa para utilizar a função
println
![Page 27: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/27.jpg)
Comandos de Saída• Códigos de Barra Invertida
– \n = nova linha– \r = enter– \t = tabulação (tab)– \b = retrocesso– \” = aspas– \\ = barra
Atividade:• Modifique o programa para utilizar a função
printf
![Page 28: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/28.jpg)
Comandos de Saída• Os comandos de saída também
podem ser utilizados para exibição de informações através de caixas de diálogo
![Page 29: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/29.jpg)
Comandos de Saída/** Para utilização do métodos JOptionPane é* necessária a inclusão do pacote abaixo.*/import javax.swing.JOptionPane;public class Main {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null,"Eu estou programando em Java!");}
}
![Page 30: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/30.jpg)
Pacotes• Os pacotes ou packages Java são um
conjunto pré-definido de classes• Cada pacote tem um grupo de classes quepossui algum tipo de relação.• Exemplo:
– O pacote javax.swing possui classes para construção de interfaces gráficas.– A classe JOptionPane está dentro do pacote javax.swing
![Page 31: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/31.jpg)
Pacotes• Nomenclatura
– Pacotes Principais (Core Packages)• Começam sempre com java• Fazem parte do Java SDK
– Pacotes de Extensões (Extension Packages)
• Começam com javax• São desenvolvidos pela Sun ou
por outros programadores.
![Page 32: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/32.jpg)
Comandos de Entrada• São utilizados para leitura de informações do
teclado.• Para o modo console a leitura pode ser feita
através dos métodos do pacote java.util.Scanner
• Scanner entrada = new Scanner( System.in );– entrada.nextInt();– entrada.nextFloat();– entrada.nextDouble();– entrada.next();
![Page 33: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/33.jpg)
Comandos de Entradaimport java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner entrada = new Scanner( System.in );int num1, num2, soma;System.out.print("Informe o primeiro número: ");num1 = entrada.nextInt();System.out.print("Informe o segundo número: ");num2 = entrada.nextInt();soma = num1+num2;System.out.print("Resultado = " + soma);
}}
![Page 34: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/34.jpg)
Comandos de Entrada• A entrada de informações também
pode ser feita através de Caixas de Diálogos.
• Essas caixas estão disponíveis também no pacote javax.swing.JOptionPane
![Page 35: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/35.jpg)
Comandos de EntradaString str_n1, str_n2;int n1, n2, soma;str_n1 = JOptionPane.showInputDialog("Primeiro número:
");str_n2 = JOptionPane.showInputDialog("Segundo número:
");// conversao String-->Integern1 = Integer.parseInt(str_n1);n2 = Integer.parseInt(str_n2);soma = n1+n2;JOptionPane.showMessageDialog(null,"Soma de " + n1 +
" e "+ n2 + " é igual a " + soma,"Resultado",JOptionPane.PLAIN_MESSAGE);
![Page 36: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/36.jpg)
Comandos de Entrada• Ícones para Caixas de Diálogo
![Page 37: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/37.jpg)
Exercícios1 – Faça um programa para mostrar
o resultado da multiplicação de 3 números.
2 – Faça um programa para mostrar o resultado de dois números.
![Page 38: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/38.jpg)
Exercícios3 – Faça um programa para calcular
o novo salário de um funcionário. Sabe-se que os funcionários que recebem atualmente salário de até R$ 500,00 terão aumento de 20%, enquanto os demais terão aumento de 10%.
![Page 39: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/39.jpg)
Exercícios4 – Faça um programa que verifica
se um número é par ou impar.
5 – Faça um programa que receba quatro números inteiros, calcule e mostre a soma desses números. (utilizar o comando for)
![Page 40: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/40.jpg)
Exercícios6 – Faça um programa que calcule
os seguintes dados:a – Calcular área. (altura * largura)b – Calcular perímetro. (2 * altura + 2 * largura)c – Mostrar os resultados obtidos.
![Page 41: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/41.jpg)
Exercícios7 – Faça um programa que faça uma
divisão entre dois números e mostre o número com duas casas decimais.
8 – Faça um programa que receba o salário base de um funcionário, calcule e mostre o salário a receber, sabendo-se que o funcionário tem gratificação de 5% sobre o salário base e paga imposto de 7% sobre esse salário.
![Page 42: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/42.jpg)
Exercícios9 – Crie um programa que leia um
número indeterminado de alunos. Você deve solicitar ao usuário o nome e as suas respectivas notas. Calcule a média e informe se ele está aprovado ou não, sendo a nota de aprovação sendo 7
![Page 43: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009.](https://reader030.fdocumentos.tips/reader030/viewer/2022013123/570638591a28abb8238fcbf5/html5/thumbnails/43.jpg)
Exercícios10 – Escreva um programa que solicite ao usuário:
– Nome completo String– Ano de Nascimento int– Sexo (M ou F) char– Salário float
• Calcule e escreva na tela a seguinte saída:– Nome = João da Silva– Idade = 25 anos– Sexo = M– Salário = R$ 650,00