Buscar

2018.1 INF03 LIFE I Programação II Java 11 de abril de 2018

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 169 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 169 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 169 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação II 
Professor: 
Jorge Luis da Rocha Lima 
11/04/2018 Prof. Jorge Luis 2 
RECURSOS E METOLOGIA DE ENSINO 
• Aulas expositivas teóricas 
• Aulas práticas em laboratório 
• Exercícios de fixação 
• Desenvolvimento de atividades extra 
classe 
 
11/04/2018 Prof. Jorge Luis 3 
AVALIAÇÕES 
• Avaliação escrita englobando todo 
conteúdo programático. 
Tópico 01 
Introdução à Orientação a Objetos 
Professor Jorge Lima 
IFMA campus Caxias 
11/04/2018 Prof. Jorge Luis 4 
Conceitualização 
• Objeto: 
– Um objeto é uma construção de software que encapsula 
estado e comportamento. Os objetos permitem que você 
modele seu software em termos reais e abstrações. 
Rigorosamente falando, um objeto é uma instância de uma 
classe. (SINTES, 2002). 
• Atributos: 
– Consistem de características atribuídas aos objetos. Em 
uma janela, por exemplo, tem-se material, cor, tipo de 
vidro, dentre outros. Outro exemplo é um livro, que possui 
título, autor, editora e ISBN. Quando a uma expressão 
matemática, normalmente ela é composta por dois 
operando e um operador. 
11/04/2018 Prof. Jorge Luis 5 
Conceitualização 
• Métodos: 
– Refere-se às ações aplicadas por um objeto ou 
suas reações (operações). Na janela, por exemplo, 
o abrir e fechar. Em um carro, dar partida, 
acelerar, frear ou trocar marcha. Os 
comportamentos mapeados para uma linguagem 
são conhecidos como a implementação dos 
métodos. 
11/04/2018 Prof. Jorge Luis 6 
Conceitualização 
• Classes: 
– Refere-se é um conjunto ou uma categoria de 
objetos que tem atributos, propriedades e 
métodos (semelhantes a funções e 
procedimentos). 
• Abstração: 
– É considerada como a habilidades de modelar 
características do mundo real do problema que o 
programador esteja tentando resolver. 
11/04/2018 Prof. Jorge Luis 7 
Conceitualização 
• Herança: 
– A herança é um mecanismo para parimorar as classes de 
trabalho existentes. Se você precisa implementar uma nova 
classe e já há disponível uma classe que presenta um conceito 
mais geral, a nova classe pode herdar as características da classe 
existente. (HORSTMAN, 2002). 
• Polimorfismo: 
– É um termo designado a objetos diferentes que tenham a 
capacidade de ter respostas diferentes a um mesmo método 
segundo a sua função. 
– O polimorfismo indica o princípio de que o comportamento 
pode variar, dependendo do tipo real de um objeto. 
(HORSTMANN, 2002). 
• Encapsulamento: 
– É um mecanismo interno do objeto “escondido” do usuário, 
pode ser comparado a uma caixa-preta. 
– Encapsulamento é a característica da OO de ocultar partes 
independentes da implementação. (SINTES, 2002). 
11/04/2018 Prof. Jorge Luis 8 
Tópico 02 
Ferramentas para implementação 
Professor Jorge Lima 
IFMA Campus Caxias 
11/04/2018 Prof. Jorge Luis 9 
11/04/2018 Prof. Jorge Luis 10 
11/04/2018 Prof. Jorge Luis 11 
11/04/2018 Prof. Jorge Luis 12 
11/04/2018 Prof. Jorge Luis 13 
11/04/2018 Prof. Jorge Luis 14 
11/04/2018 Prof. Jorge Luis 15 
11/04/2018 Prof. Jorge Luis 16 
11/04/2018 Prof. Jorge Luis 17 
11/04/2018 Prof. Jorge Luis 18 
11/04/2018 Prof. Jorge Luis 19 
11/04/2018 Prof. Jorge Luis 20 
11/04/2018 Prof. Jorge Luis 21 
11/04/2018 Prof. Jorge Luis 22 
11/04/2018 Prof. Jorge Luis 23 
11/04/2018 Prof. Jorge Luis 24 
11/04/2018 Prof. Jorge Luis 25 
Tópico 03 
A linguagem JAVA 
Professor Jorge Lima 
IFMA Campus Caxias 
11/04/2018 Prof. Jorge Luis 26 
11/04/2018 Prof. Jorge Luis 27 
JAVA 
• Java Standard Edition (Java SE) 
– Java Enterprise Edition (Java EE) 
• projetado para desenvolver aplicativos em rede 
distribuídos e em grande escala e também aplicativos 
baseados na Web. 
– Java Micro Edition (Java ME) 
• projetado para o desenvolvimento de aplicativos de 
pequenos dispositivos com limitações de memória, 
como telefones celulares, pagers e PDAs. 
11/04/2018 Prof. Jorge Luis 28 
História do Java 
• Os microprocessadores têm um impacto profundo em 
dispositivos inteligentes eletrônicos de consumo popular. 
• 1991: 
– Reconhecendo isso, a Sun Microsystems financiou um projeto 
de pesquisa corporativo interno, que resultou em 
umalinguagem baseada em C++ chamada Java. 
– Criada por James Gosling. 
• 1993: 
– A Web explodiu em popularidade. 
– A Sun viu o potencial de utilizar o Java para adicionar conteúdo 
dinâmico a páginas da Web. 
• O Java chamou a atenção da comunidade de negócios por 
causa do enorme interesse pela Web. 
11/04/2018 Prof. Jorge Luis 29 
Bibliotecas de classe do Java 
• Os programas Java consistem em partes chamadas classes. 
• As classes incluem partes chamadas métodosque realizam tarefas e 
retornam informações quando as tarefas são concluídas. 
• Java, bibliotecas de classe 
– Ricas coleções de classes 
– Também conhecidas como Java APIs (Application Programming 
Interfaces) 
• Há dois aspectos para aprender o mundo do Java. 
– A linguagem Java em si. 
– As classes nas extensas bibliotecas de classe Java. 
• Download da documentação da Java API 
– java.sun.com/javase/downloads/ 
– Role até a seção Additional Resourcese clique no botão Download à 
direita de Java SE Documentation. 
11/04/2018 Prof. Jorge Luis 30 
11/04/2018 Prof. Jorge Luis 31 
Dicas de programação 
• Observações de engenharia de software —
explicam conceitos que afetam e aprimoram a 
arquitetura total e a qualidade de sistemas de 
software. 
• Boas práticas de programação ajudam a escrever 
programas que são mais claros, mais 
compreensíveis, mais fáceis de manter e mais 
fáceis de testar e depurar —isto é, remover erros 
de programação). 
• Erros de programação comuns —discutem 
problemas a que se deve prestar atenção e evitar. 
11/04/2018 Prof. Jorge Luis 32 
Dicas de programação (cont.): 
• Dicas de desempenho —técnicas para escrever programas 
que executam mais rapidamente e utilizam menos 
memória). 
• Dicas de portabilidade—técnicas para ajudá-lo a escrever 
programas que podem executar, com pouca ou nenhuma 
modificação, em diferentes computadores 
• Dicas para prevenção de erros —técnicas para remover 
bugs dos programas. 
• Observações sobre a aparência e comportamento—
técnicas para ajudá-lo a projetar a ―aparência‖ e o 
―comportamento‖ das interfaces com o usuário dos seus 
aplicativos em termos da aparência e facilidade de uso). 
11/04/2018 Prof. Jorge Luis 33 
11/04/2018 Prof. Jorge Luis 34 
11/04/2018 Prof. Jorge Luis 35 
11/04/2018 Prof. Jorge Luis 36 
Ambiente de desenvolvimento Java típico 
11/04/2018 Prof. Jorge Luis 37 
Ambiente de desenvolvimento Java típico 
11/04/2018 Prof. Jorge Luis 38 
Ambiente de desenvolvimento Java típico 
Programas Java normalmente passam por cinco 
fases: 
1) editar 
2) compilar 
3) carregar 
4) verificar 
5) executar 
11/04/2018 Prof. Jorge Luis 39 
Fase 1: Ambiente de desenvolvimento Java típico 
• A Fase 1 consiste em editar um arquivo com um programa 
editor(em geral, conhecido simplesmente como editor). 
• Escrever um programa Java (código-fonte),usando o editor 
• Fazer quaisquer correções necessárias. 
• Salvar o programa. 
• Um nome de arquivo que termina com a extensão extensão 
.javaindica que o arquivo contém o código-fonte Java. 
11/04/2018 Prof. Jorge Luis 40 
Fase 2: Ambiente de desenvolvimento Java típico 
• Ambientes de desenvolvimento integrado (IDEs) 
• IDEs fornecem ferramentas que suportam o processo de 
desenvolvimento de software, incluindo editores para 
escrever e editar programas e depuradores para localizar 
erros de lógica —erros que fazem os programasexecutar 
incorretamente. 
• IDEs populares : Eclipse (www.eclipse.org), NetBeans 
(www.netbeans.org), JBuilder (www.codegear.com), 
JBuilder (www.codegear.com), BlueJ (www.blueJ.org), 
jGRASP (www.jgrasp.org) . 
11/04/2018 Prof. Jorge Luis 41 
Fase 2: Ambiente de desenvolvimento Java típico 
• Use ocomando javac(ocompilador Java) para 
compilarum programa. Por exemplo, para 
compilar um programa chamado Welcome.java, 
você digitariajavac Welcome.java 
• Se o programa compilar, o compilador produz um 
arquivo .class chamado Welcome.classque 
contém a versão compilada do programa. 
11/04/2018 Prof. Jorge Luis 42 
Fase 2: Ambiente de desenvolvimento Java típico 
• O compilador Java converte o código-fonte Java em bytecodes que 
representam as tarefas a ser executadas. 
• Os bytecodes são executados pela Java Virtual Machine (JVM) —
uma parte do JDK e a base da plataforma Java. 
• Máquina virtual(VM) —um aplicativo de software que simula um 
computador. 
• Oculta o sistema operacional e o hardware subjacentes dos 
programas que interagem com ela. 
• Se a mesma VM for implementada nas várias plataformas de 
computador, os aplicativos que ela executa podem ser utilizados em 
todas essas plataformas. 
11/04/2018 Prof. Jorge Luis 43 
Fase 2: Ambiente de desenvolvimento Java típico 
• Os bytecodes são independentes de plataforma. 
• Eles não dependem de uma plataforma de hardware específica. 
• Bytecodes são portáveis. 
• Os mesmos bytecodes podem executar em qualquer plataforma 
contendo uma JVM que entende a versão do Java em que os 
bytecodes foram compilados. 
• A JVM é invocada pelo comando java. Por exemplo, para executar 
um aplicativo Java chamado Welcome, você digitaria o comando. 
11/04/2018 Prof. Jorge Luis 44 
Fase 3: Ambiente de desenvolvimento Java típico 
• A JVM armazena o programa na memória para executá-lo. 
• Isso é conhecido como carregamento. 
• O carregador de classepega os arquivos .classque contêm os bytecodes do 
programa e transfere-os para a memória primária. 
• Também carrega qualquer arquivo .classfornecido pelo Java que seu programa 
utiliza. 
• Os arquivos .classpodem ser carregados a partir de um disco em seu sistema ou 
por intermédiode uma rede. 
11/04/2018 Prof. Jorge Luis 45 
Fase 4: Ambiente de desenvolvimento Java típico 
• À medida que as classes são carregadas, overificador de bytecode 
examina seus bytecodes. 
• Assegura que elessãoválidos e não violam as restrições de 
segurança do Java. 
• O Java impõe uma forte segurança para certificar-se de que os 
programas Java que chegam pela rede não danificam os arquivos ou 
o sistema (como vírus e vermes de computador). 
11/04/2018 Prof. Jorge Luis 46 
Fase 5: Ambiente de desenvolvimento Java típico 
• A JVM executa os bytecodes do programa. 
• Em geral, as JVMs atuais executam uma combinação de interpretação e compilação just-in-time (JIT). 
• Analisa os bytecodes à medida que eles são interpretados, procurando hot spots —partes dos bytecodes 
que executam com frequência. 
• Um compiler just-in-time(JIT) (o compilador Java HotSpot) traduz os bytecodes para a linguagem de 
máquina do computador subjacente. 
• Quando a JVM encontra novamente essas partes compiladas, o código de linguagem de máquina mais 
rápido é executado. 
• Os programas Java,na realidade,passam por duas fases de compilação: 
• Uma fase em que código-fonte é traduzido em bytecodes (para a portabilidade entre JVMs de diferentes 
plataformas de computador). 
• Uma segunda em que, durante a execução, os bytecodes são traduzidos em linguagem de máquina para o 
computador real em que o programa é executado. 
11/04/2018 Prof. Jorge Luis 47 
11/04/2018 Prof. Jorge Luis 48 
Primeiro exemplo 
11/04/2018 Prof. Jorge Luis 49 
Comentários 
• // Figura 2.1: Welcome1.java 
• // indicam que a linha é um comentário. 
• Utilizados para documentar programas e aprimorar sua legibilidade 
• O compilador ignora comentários. 
• Um comentário que começa com // é um comentário de fim de 
linha —ele termina no fim da linha em que aparece. 
• Um comentário tradicional pode se distribuir por várias linhas 
como em 
 
• /* Isso é um comentário tradicional. Ele pode ser dividido em várias 
linhas */ 
• Esse tipo de comentário começa com /* e termina com */. 
• Todo o texto entre os delimitadores é ignorado pelo compilador. 
11/04/2018 Prof. Jorge Luis 50 
Comentários do Javadoc 
• Comentários do Javadoc 
• delimitados por /** e */. 
• Todo o texto entre os delimitadores de 
comentários do Javadoc é ignorado pelo 
compilador. 
• Permitem incorporar a documentação do 
programa diretamente nos programas. 
11/04/2018 Prof. Jorge Luis 51 
Declaração de classe 
• public class Welcome1 
• Todo programa Java consiste em pelo menos 
uma classe que você define. 
• A palavra-chave class introduz uma 
declaração de classe e é imediatamente 
seguida pelo nome de classe. 
• Palavras-chave são reservadas para uso pelo 
Java e sempre são escritas em letras 
minúsculas. 
11/04/2018 Prof. Jorge Luis 52 
Nomes de classe 
• Por convenção, iniciam com uma letra maiúscula e 
apresentam a letra inicial de cada palavra que eles 
incluem em maiúscula (por exemplo, 
SampleClassName). 
• O nome de uma classe Java é um identificador—uma 
série de caracteres que consiste em letras, dígitos, 
sublinhados ( _ ) e sinais de cifrão ($) que não iniciem 
com um dígito e não contenham espaços. 
• O Java faz distinção entre maiúsculas e minúsculas —
letras maiúsculas e letras minúsculas são diferentes —
portanto, a1 e A1 são identificadores diferentes (mas 
ambos válidos). 
11/04/2018 Prof. Jorge Luis 53 
11/04/2018 Prof. Jorge Luis 54 
Chaves 
11/04/2018 Prof. Jorge Luis 55 
• Uma chave esquerda, {, inicia o corpode toda 
definição de classe. 
• Uma chave direita correspondente, }, deve 
terminar cada definição de classe. 
• O código entre chaves deve ser recuado. 
• Esse recuo é uma das convenções de 
espaçamento mencionadas anteriormente. 
11/04/2018 Prof. Jorge Luis 56 
Declarando o método main 
public static void main( String[] args ) 
 
• O ponto de partida de todo aplicativo Java. 
• Parênteses depois do identificador main indicam que ele é um 
bloco de construção do programa; esse bloco é chamado de 
método. 
• Declarações de classe Java normalmente contêm um ou mais 
métodos. 
• main deve ser declarado conforme mostrado; caso contrário, a JVM 
não executará o aplicativo. 
• Os métodos realizam tarefas e podem retornar informações quando 
completam suas tarefas. 
• A palavra-chave void indica que esse método não devolverá 
nenhuma informação. 
11/04/2018 Prof. Jorge Luis 57 
Corpo da declaração de método 
• Colocada entre um par de chave de abertura e fechamento 
• Instrução 
System.out.println("Welcome to Java Programming!"); 
• Instrui o computador a realizar uma ação. 
• Imprime a string de caracteres contida entre as aspas 
duplas. 
• Uma string às vezes é chamada de string de caracteres ou 
string literal. 
• Os caracteres de espaço em branco em strings não são 
ignorados pelo compilador. 
• As strings não podem distribuir várias linhas de código. 
11/04/2018 Prof. Jorge Luis 58 
Objeto System.out 
• Objeto de saída padrão 
• Permite que aplicativos Java exibam strings na janela de 
comando a partir da qual o aplicativo Java executa. 
• Método System.out.println 
• Exibe (ou imprime) uma linha de texto na janela de 
comando. 
• A string entre parênteses é o argumento para o método. 
• Posiciona o cursor de saída no início da próxima linha na 
janela de comando. 
• A maioria das instruçõestermina com um ponto-e-vírgula. 
11/04/2018 Prof. Jorge Luis 59 
11/04/2018 Prof. Jorge Luis 60 
11/04/2018 Prof. Jorge Luis 61 
Compilando e executando seu primeiro 
Aplicativo Java 
• Abra uma janela de prompt de comando e mude para diretório 
onde programa está armazenado. 
• Muitos sistemas operacionais utilizam o comando cd para mudar de 
diretório. 
• Para compilar o programa, digite 
• javac Welcome1.java 
• Se o programa não contiver nenhum erro de sintaxe, o comando 
anterior cria um novo arquivo chamado .class (conhecido como o 
arquivo de classe) contendo os bytecodes Java independentes de 
plataforma que representam o aplicativo. 
• Quando utilizamos o comando java para executar o aplicativo em 
uma dada plataforma, esses bytecodes serão traduzidos pela JVM 
em instruções que são entendidas pelo sistema operacional 
subjacente. 
11/04/2018 Prof. Jorge Luis 62 
11/04/2018 Prof. Jorge Luis 63 
11/04/2018 Prof. Jorge Luis 64 
Execução do programa 
• Para executar o programa, digite java 
Welcome1. 
• Isso carrega a JVM, que carrega o arquivo 
.classpara a classe Welcome1. 
• Observe que a extensão do nome de arquivo 
.classé omitida do comando precedente; caso 
contrário, a JVM não executará o programa. 
• A JVM chama o método mainpara executar o 
programa. 
11/04/2018 Prof. Jorge Luis 65 
11/04/2018 Prof. Jorge Luis 66 
Caractere de escape 
• Caracteres de nova linha indicam para os métodos 
printe printlnde System.out quando eles devem 
posicionar o cursor de saída no começo da próxima 
linha na janela de comando. 
• Caracteres de nova linha são caracteres de espaço em 
branco. 
• A barra invertida (\) é chamada caractere de escape. 
• A barra invertida é combinada com o próximo 
caractere para formar uma sequência de escape. 
• A sequência de escape \n representa o caractere de 
nova linha. 
11/04/2018 Prof. Jorge Luis 67 
11/04/2018 Prof. Jorge Luis 68 
11/04/2018 Prof. Jorge Luis 69 
Exibindo texto com printf 
Método System.out.printf 
• f significa ― formatado, exibe dados formatados. 
• Múltiplos argumentos de método são colocados em uma lista separada por 
vírgulas. 
• O Java permite que instruções grandes sejam divididas em muitas linhas. 
• Não é permitido dividir uma instrução no meio de um identificador ou no meio de 
uma string. 
• O primeiro argumento do método printf é uma string de formato 
• Pode consistir de texto fixo e especificadores de formato. 
• A saída de texto fixo é gerada por print ou println. 
• Cada especificador de formato é um marcador de lugar para um valor e especifica 
o tipo da saída de dados. 
• Especificadores de formato iniciam com um sinal de porcentagem (%) e são 
seguidos por um caractere que representa o tipo de dados. 
• O especificador de formato %s é um espaço reservado para uma string. 
11/04/2018 Prof. Jorge Luis 70 
11/04/2018 Prof. Jorge Luis 71 
3.2. Classes, objetos, métodos e variáveis de instância 
• Analogia simples para ajudar a entender classes e 
seu conteúdo. 
• Suponha que você queira guiar um carro e fazê-lo 
andar mais rápido pisando no pedal acelerador. 
• Antes de poder dirigir um carro, alguém tem de 
projetá-lo. 
• Em geral, um carro inicia com os desenhos de 
engenharia, semelhantes às plantas utilizadas 
para projetar uma casa. 
• Estes incluem o projeto de um pedal acelerador 
para aumentar a velocidade do carro. 
11/04/2018 Prof. Jorge Luis 72 
3.2. Classes, objetos, métodos e variáveis de instância 
• Analogia simples para ajudar a entender classes e seu conteúdo. 
• O pedal "oculta" do motorista os complexos mecanismos que 
realmente fazem o carro ir mais rápido, assim como o pedal de freio 
"oculta" os mecanismos que diminuem a velocidade do carro e a 
direção "oculta" os mecanismos que mudam a direção do carro. 
• Isso permite que as pessoas com pouco ou nenhum conhecimento 
de como os motores funcionam dirijam um carro facilmente. 
• Antes de poder guiar um carro, ele deve ser construído a partir dos 
desenhos de engenharia que o descrevem. 
• Um carro pronto tem um pedal de acelerador real para fazer o carro 
andar mais rápido, mas até isso não é suficiente —o carro não 
acelerará por conta própria, então o motorista deve pressionar o 
pedal do acelerador. 
11/04/2018 Prof. Jorge Luis 73 
3.2. Classes, objetos, métodos e variáveis de instância 
• Para realizar uma tarefa em um programa é necessário um 
método. 
• O método descreve os mecanismos que realmente realizam 
suas tarefas. 
• A função oculta de seu usuário as tarefas complexas que 
ele realiza, assim como o pedal acelerador de um carro 
oculta do motorista os complexos mecanismos que fazem o 
carro andar mais rápido. 
• Em Java, uma classe abriga um método, assim como os 
desenhos de engenharia do carro abrigam o projeto de um 
pedal acelerador. 
• Em uma classe, você fornece um ou mais métodos que são 
projetados para realizar as tarefas da classe. 
11/04/2018 Prof. Jorge Luis 74 
3.2. Classes, objetos, métodos e variáveis de instância 
• Você deve criar um objeto de uma classe antes de um 
programa realizar as tarefas que a classe descreve 
como fazer. 
• Essa é uma razão por que o Java é conhecido como 
uma linguagem de programação orientada a objetos. 
• Ao dirigir um carro, o ato de pressionar o acelerador 
envia uma mensagem para o carro realizar uma tarefa 
—fazer o carro andar mais rápido. 
• Você enviamensagenspara um objeto —cada 
mensagem é implementada como uma chamada de 
métodoque instrui um método do objeto a realizar sua 
tarefa. 
11/04/2018 Prof. Jorge Luis 75 
3.2. Classes, objetos, métodos e variáveis de instância 
• Um carro tem muitos atributos 
• Cor, o número de portas, a capacidade do tanque, 
a velocidade atual e a quilometragem. 
• Atributos são representados como parte do 
projeto de um carro nos diagramas de 
engenharia. 
• Cada carro mantém seus próprios atributos. 
• Cada carro sabe a quantidade de gasolina que há 
no seu tanque, mas não sabe quanto há no 
tanque de outros carros. 
11/04/2018 Prof. Jorge Luis 76 
3.2. Classes, objetos, métodos e variáveis de instância 
• Um objeto tem atributos que são carregados com 
o objeto quando ele é utilizado em um programa. 
• Especificados como parte da classe do objeto. 
• Um objeto conta bancária tem um atributo saldo 
que representa a quantidade de dinheiro na 
conta. 
• Cada objeto conta bancária sabe o saldo da conta 
que ele representa, mas não sabe os saldos de 
outras contas no banco. 
• Os atributos são especificados pelas variáveis de 
instânciada classe. 
11/04/2018 Prof. Jorge Luis 77 
3.3. Declarando uma classe com um método e 
instanciando um objeto de uma classe 
• Crie uma nova classe (GradeBook) 
• Use-a para criar um objeto. 
• Cada declaração de classe que inicia com a 
palavra-chave publicdeve ser armazenada em um 
arquivo que tenha o mesmo nome da classe e 
terminar com a extensão de nome do arquivo 
.java. 
• A palavra-chave publictem um modificador de 
acesso. 
• Indica que a classe está “disponível para o 
público” 
11/04/2018 Prof. Jorge Luis 78 
3.3. Declarando uma classe com um método e 
instanciando um objeto de uma classe 
11/04/2018 Prof. Jorge Luis 79 
3.3. Declarando uma classe com um método e 
instanciando um objeto de uma classe 
• O método main é automaticamene chamado pela Java 
Virtual Machine (JVM) quando você executa um aplicativo. 
• Normalmente, você deve chamar métodos explicitamente 
para instruí-los a realizar suas tarefas. 
• Um public significa “disponível para o público” 
• Pode ser chamado a partir de métodos de outras classes. 
• O tipo de retorno especifica o tipode dados que o método 
retorna depois de realizar a sua tarefa. 
• O tipo de retorno void indica que esse método realizará 
uma tarefa mas não retornará (isto é, devolverá) nenhuma 
informação para seu método chamador ao completar sua 
tarefa. 
11/04/2018 Prof. Jorge Luis 80 
3.3. Declarando uma classe com um método e 
instanciando um objeto de uma classe 
• O nome do método é seguido pelo tipo de retorno. 
• Por convenção, os nomes de método iniciam com a 
primeira letra minúscula e as palavras subsequentes do 
nome iniciam com uma letra maiúscula. 
• Parênteses vazios após um nome de método indicam que o 
método não requer nenhum parâmetro para realizar sua 
tarefa. 
• Em conjunto, tudo na primeira linha do método é 
geralmente chamado de cabeçalho do método 
• O corpo de todos os métodos é delimitado por chaves de 
abertura e fechamento. 
• O corpo de um método contém uma ou várias instruções 
que realizam a tarefa do método. 
11/04/2018 Prof. Jorge Luis 81 
3.3. Declarando uma classe com um método e 
instanciando um objeto de uma classe 
11/04/2018 Prof. Jorge Luis 82 
3.3. Declarando uma classe com um método e 
instanciando um objeto de uma classe 
• Use a classe GradeBook em um aplicativo. 
• A classe GradeBook não é um aplicativo porque não contém main. 
• Não é possível executar GradeBook; receberá uma mensagem de erro 
como: 
– Exception in thread "main" java.lang.NoSuchMethodError: main 
• Deve-se declarar uma classe separada que contém um método main ou 
colocar um método main na classe GradeBook. 
• Para ajudá-lo a se preparar para programas, utilizamos uma classe 
separada contendo o método main para testar cada nova classe. 
• Alguns programadores tratam essa classe como uma driver class. 
11/04/2018 Prof. Jorge Luis 83 
Exemplos 
11/04/2018 Prof. Jorge Luis 84 
11/04/2018 Prof. Jorge Luis 85 
11/04/2018 Prof. Jorge Luis 86 
11/04/2018 Prof. Jorge Luis 87 
11/04/2018 Prof. Jorge Luis 88 
11/04/2018 Prof. Jorge Luis 89 
11/04/2018 Prof. Jorge Luis 90 
11/04/2018 Prof. Jorge Luis 91 
11/04/2018 Prof. Jorge Luis 92 
11/04/2018 Prof. Jorge Luis 93 
11/04/2018 Prof. Jorge Luis 94 
11/04/2018 Prof. Jorge Luis 95 
11/04/2018 Prof. Jorge Luis 96 
11/04/2018 Prof. Jorge Luis 97 
11/04/2018 Prof. Jorge Luis 98 
11/04/2018 Prof. Jorge Luis 99 
11/04/2018 Prof. Jorge Luis 100 
11/04/2018 Prof. Jorge Luis 101 
Programação II – POO 
Professor Jorge Luis 
11/04/2018 Prof. Jorge Luis 102 
11/04/2018 Prof. Jorge Luis 103 
11/04/2018 Prof. Jorge Luis 104 
11/04/2018 Prof. Jorge Luis 105 
11/04/2018 Prof. Jorge Luis 106 
11/04/2018 Prof. Jorge Luis 107 
11/04/2018 Prof. Jorge Luis 108 
11/04/2018 Prof. Jorge Luis 109 
11/04/2018 Prof. Jorge Luis 110 
11/04/2018 Prof. Jorge Luis 111 
11/04/2018 Prof. Jorge Luis 112 
11/04/2018 Prof. Jorge Luis 113 
11/04/2018 Prof. Jorge Luis 114 
11/04/2018 Prof. Jorge Luis 115 
11/04/2018 Prof. Jorge Luis 116 
11/04/2018 Prof. Jorge Luis 117 
11/04/2018 Prof. Jorge Luis 118 
11/04/2018 Prof. Jorge Luis 119 
11/04/2018 Prof. Jorge Luis 120 
11/04/2018 Prof. Jorge Luis 121 
11/04/2018 Prof. Jorge Luis 122 
11/04/2018 Prof. Jorge Luis 123 
11/04/2018 Prof. Jorge Luis 124 
11/04/2018 Prof. Jorge Luis 125 
11/04/2018 Prof. Jorge Luis 126 
11/04/2018 Prof. Jorge Luis 127 
11/04/2018 Prof. Jorge Luis 128 
11/04/2018 Prof. Jorge Luis 129 
11/04/2018 Prof. Jorge Luis 130 
11/04/2018 Prof. Jorge Luis 131 
11/04/2018 Prof. Jorge Luis 132 
11/04/2018 Prof. Jorge Luis 133 
11/04/2018 Prof. Jorge Luis 134 
11/04/2018 Prof. Jorge Luis 135 
11/04/2018 Prof. Jorge Luis 136 
11/04/2018 Prof. Jorge Luis 137 
11/04/2018 Prof. Jorge Luis 138 
Programação II – POO – Herança 
Professor Jorge Luis 
11/04/2018 Prof. Jorge Luis 139 
11/04/2018 Prof. Jorge Luis 140 
11/04/2018 Prof. Jorge Luis 141 
11/04/2018 Prof. Jorge Luis 142 
11/04/2018 Prof. Jorge Luis 143 
11/04/2018 Prof. Jorge Luis 144 
11/04/2018 Prof. Jorge Luis 145 
11/04/2018 Prof. Jorge Luis 146 
11/04/2018 Prof. Jorge Luis 147 
11/04/2018 Prof. Jorge Luis 148 
11/04/2018 Prof. Jorge Luis 149 
Programação II – POO – Polimorfismo 
Professor Jorge Luis 
11/04/2018 Prof. Jorge Luis 150 
11/04/2018 Prof. Jorge Luis 151 
11/04/2018 Prof. Jorge Luis 152 
11/04/2018 Prof. Jorge Luis 153 
11/04/2018 Prof. Jorge Luis 154 
11/04/2018 Prof. Jorge Luis 155 
11/04/2018 Prof. Jorge Luis 156 
11/04/2018 Prof. Jorge Luis 157 
11/04/2018 Prof. Jorge Luis 158 
11/04/2018 Prof. Jorge Luis 159 
Programação II – POO – Interface 
Professor Jorge Luis 
11/04/2018 Prof. Jorge Luis 160 
11/04/2018 Prof. Jorge Luis 161 
11/04/2018 Prof. Jorge Luis 162 
11/04/2018 Prof. Jorge Luis 163 
11/04/2018 Prof. Jorge Luis 164 
11/04/2018 Prof. Jorge Luis 165 
11/04/2018 Prof. Jorge Luis 166 
11/04/2018 Prof. Jorge Luis 167 
11/04/2018 Prof. Jorge Luis 168 
11/04/2018 Prof. Jorge Luis 169

Outros materiais