Java e Orientação a Objetos · PDF file•Java é uma linguagem...
-
Upload
nguyenhanh -
Category
Documents
-
view
218 -
download
3
Transcript of Java e Orientação a Objetos · PDF file•Java é uma linguagem...
![Page 1: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/1.jpg)
Java e Orientação a Objetos
(aula 2) Prof. Sérgio Ricardo
![Page 2: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/2.jpg)
Paradigma de Orientação a Objetos
• A orientação a objetos (OO) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos (Wikipédia).
![Page 3: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/3.jpg)
Paradigma de Orientação a Objetos
• Características:
▫ Alta reutilização de software,
▫ Desenvolvimento sempre evolutivo,
▫ Construções complexas a partir de construções simples,
▫ Manutenção tende a ser simples.
3
![Page 4: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/4.jpg)
Elementos básicos em OO
• Classes
• Objetos/Instâncias
4
![Page 5: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/5.jpg)
Orientação a Objetos – Definições
• Classe representa um conjunto de objetos com características afins.
• Uma classe define o comportamento dos objetos através de seus métodos, e quais estados ele é capaz de manter através de seus atributos.
• Exemplos: pessoa, carro
![Page 6: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/6.jpg)
Orientação a Objetos – Definições
• Subclasse é uma nova classe que herda características de sua(s) classe(s) ancestral(is)
• Classes contém:
– Atributos: determinam o estado do objeto;
– Métodos: semelhantes a procedimentos em
linguagens convencionais, são utilizados para
manipular os atributos.
Pessoa
Funcionário Cliente
Carro
Motor Roda
superclasse
subclasse
![Page 7: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/7.jpg)
Orientação a Objetos – Definições
• Atributo são características de um objeto. Basicamente a estrutura de dados que vai representar a classe. ▫ Pessoa: nome, telefone
▫ Cliente: cnpj, nome
▫ Usuario: nomeacesso, senha
![Page 8: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/8.jpg)
Orientação a Objetos – Definições • Os atributos possuem valores. O conjunto de valores dos atributos de um determinado objeto é chamado de estado ▫ Ex. o atributo cor pode conter o valor azul.
![Page 9: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/9.jpg)
Orientação a Objetos – Definições • Método define as habilidades (ações, funções) dos objetos.
• Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto
![Page 10: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/10.jpg)
Orientação a Objetos
• Objeto é uma entidade que possui um estado e um conjunto de operações definidas para funcionar neste estado (“Engenharia de Software”, Sommerville)
• Instanciação é o ato de criar um objeto.
classe
![Page 11: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/11.jpg)
Orientação a Objetos
• Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.
• Exemplo de objetos da classe Funcionário: João, José, Maria; classe Cliente: Pedro, José
• Os objetos se comunicam por meio de solicitação de serviços (métodos) de outros objetos, e se necessário, por troca de informações
• Orientação a objetos ajuda a organizar a programação e a encapsular a lógica de negócios.
![Page 12: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/12.jpg)
Orientação a Objetos – Definições 4 pilares da Orientação a Objetos
![Page 13: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/13.jpg)
Orientação a Objetos – Definições
• Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais.
• Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software
![Page 14: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/14.jpg)
Orientação a Objetos – Definições
• Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa conhecer
os detalhes dos circuitos de um
telefone para utilizá-lo. A carcaça do
telefone encapsula esses detalhes,
provendo a você uma interface mais
amigável (os botões, o monofone e os
sinais de tom)
![Page 15: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/15.jpg)
Encapsulamento
INT
ER
FA
CE
INT
ER
FA
CE
INTERFACE
INTERFACE
Men
sag
em
Mensagem
Mensagem
Men
sag
em
Interface: Contrato com o mundo exterior. Define o que uma entidade externa
pode fazer com o objeto. E como a interface fará esse trabalho???
![Page 16: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/16.jpg)
Encapsulamento
• Exemplo de Interface (Welcome to NetBeans!)
![Page 17: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/17.jpg)
Encapsulamento
• Níveis de Acesso
• Publico: Garante acesso a todos os objetos
• Protegido: Garante acesso à instancia e subclasses.
• Privado: Garante acesso apenas para a instancia.
![Page 18: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/18.jpg)
Encapsulamento
• Vantagens:
– Transforma os objetos em componentes plugáveis
– Independência e reutilização
– Transparência
– Mitigação de impactos
• Características
– Abstração
– Ocultação da implementação
– Divisão de responsabilidades
![Page 19: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/19.jpg)
Encapsulamento
• Abstração: processo de simplificar um problema difícil.
• Vantagens da abstração: facilidade e reutilização.
![Page 20: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/20.jpg)
Encapsulamento
• Exemplos de abstração
– Fila de banco
– Estabelecimento fast food
* abastração: fila FIFO
![Page 21: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/21.jpg)
Encapsulamento
• Abstração Eficaz
▫ Trate do caso geral
▫ Procure o que for comum
▫ Não esqueça de resolver o problema
▫ Abstração muitas vezes não está aparente
▫ Prepare-se para a falha
![Page 22: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/22.jpg)
Encapsulamento
• Ocultação da implementação
▫ proteção do objeto (TAD)
▫ proteção do usuário
• Tipo: define o domínio a partir do qual seus valores válidos podem ser extraídos
![Page 23: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/23.jpg)
Encapsulamento
Fila
![Page 24: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/24.jpg)
Encapsulamento
● Protegendo os usuários de seus objetos
– Código fracamente acoplado (independente)
– Código fortemente acoplado (vinculado)
![Page 25: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/25.jpg)
Encapsulamento
![Page 26: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/26.jpg)
![Page 27: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/27.jpg)
Orientação a Objetos – Definições • Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos).
![Page 28: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/28.jpg)
Orientação a Objetos – Definições • Associação é o mecanismo pelo qual um objeto se
relaciona com outros.
• Exemplo, vários alunos podem estar associados à um único professor e um único aluno pode estar associado à vários professores. Neste caso, não existe um relacionamento de posse entre esses objetos. Todos os objetos são independentes. Um aluno pode existir sem a necessidade de um professor, da mesma forma que é possível existir um professor sem a necessidade da existência de um aluno.
• Casos especiais: Agregação e Composição
![Page 29: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/29.jpg)
Orientação a Objetos – Definições • Agregação representa um todo que é composto de várias partes. ▫ Exemplo: um conselho é um agregado de membros, da mesma forma
que uma reunião é um agregado de uma pauta, uma sala e de participantes. A implementação deste relacionamento não é uma contenção, pois uma reunião não CONTÉM uma sala. Assim sendo, as partes da agregação podem fazer outras coisas em outras partes da aplicação, eles podem ser referenciados por outros objetos e não somente por um objeto
▫ Em UML, a agregação é representada por uma linha com um losango vazio do lado da classe que manda no relacionamento
![Page 30: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/30.jpg)
Orientação a Objetos – Definições
• A composição, diferentemente da agregação, é um relacionamento de contenção.
• Um objeto (container) CONTÉM outros objetos (elementos). Esses elementos que estão contidos dentro de outro objeto dependem dele para existir. Eles são criados e destruídos de acordo com o seu container. Exemplo: ▫ Container: pedido, e seus elementos seriam seus itens. Não faz sentido existirem
itens de pedido sem existir um pedido onde tais itens estariam contidos
• Em UML é representada por uma linha com um losango preenchido do lado da classe dona do relacionamento
![Page 31: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/31.jpg)
Orientação a Objetos – Definições
• Polimorfismo é a capacidade de uma variável se referir a objetos de diferentes classes em tempo de execução
• Ocorre quando o método que já foi definido no ancestral é redefinido em seu descendente com comportamento diferente.
![Page 32: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/32.jpg)
Formas de Polimorfismos
• Redefinição (overriding): mesma função mas comportamentos diferentes.
• Sobrecarga(overloading): nome de uma função usado mais de uma vez com diferentes tipos de parâmetros.Ex: operação soma com dois parâmetros reais e outra com parâmetros inteiros.
32
![Page 33: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/33.jpg)
Redefinição de função
• Capacidade de um objeto responder com diferentes
comportamentos uma mesma solicitação.
Ex. Suponha um método que receba um objeto
ContaEmBanco e que neste método seja solicitado a
ativação do método Sacar.
• O comportamento do objeto vai ser diferente em
função do objeto real:
1. ContaEspecial permite que o saldo fique negativo
2. ContaComum não
O comportamento do objeto será relativo ao
objeto real a qual é feita a referência
![Page 34: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/34.jpg)
Sobrecarga de função
• Atribui a um único operador a capacidade de agir de
diferentes formas em função dos parâmetros
recebidos.
• Ex. na classe ContaEmBanco, o método Depositar
possui duas implementações diferentes:
1. uma para depósitos em dinheiro
2. outra para depósitos em cheque
O serviço escolhido depende do parâmetro
enviado junto à ativação do serviço
(cheque ou dinheiro)
![Page 35: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/35.jpg)
Orientação a Objetos – Definições
![Page 36: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/36.jpg)
• Linguagem Orientada a Objetos
• Criada pela Sun (http://www.sun.com) e mantida através de um comitê (http://www.jcp.org)
• Em 2009 a Oracle comprou a Sun
![Page 37: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/37.jpg)
Por que usar Java? • Java é multiplataforma, ou seja, um programa escrito em Java pode ser executado em qualquer plataforma (sistema operacional combinado com hardware) sem necessidade de alterações no código fonte
• Java é uma arquitetura aberta, extensível, com várias implementações, o que a torna independente do fornecedor.
• Java pode ser baixada gratuitamente do site da
Sun.
![Page 38: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/38.jpg)
Por que usar Java?
• Java é uma linguagem independente de plataforma que pode ser utilizada em vários produtos eletrônicos, tais como torradeiras e refrigeradores.
• Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software
• Java é uma das linguagens de desenvolvimento de softwares mais utilizadas no mundo.
![Page 39: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/39.jpg)
Como Java Funciona
• Em uma linguagem de programação como C e Pascal, temos o seguinte quadro quando vamos compilar um programa..
Código fonte em c Teste.c
Gera código binário para um determindao SO
Teste.exe
Compila
Sistema Operacional (SO)
![Page 40: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/40.jpg)
Como Java Funciona
• O código fonte é compilado para uma plataforma e sistema operacional específicos. Muitas vezes, o próprio código fonte é desenvolvido visando uma única plataforma!
• Na maioria das vezes, a sua aplicação se utiliza das bibliotecas do sistema operacional, como, por exemplo, a de interface gráfica para desenhar as 'telinhas'. A biblioteca de interface gráfica do Windows é bem diferente das do Linux.
![Page 41: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/41.jpg)
Como Java funciona
• Maquina Virtual
▫ Um mecanismo que permite executar código em Java em qualquer plataforma.
• Java utiliza o conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação, responsável por “traduzir” (não é apenas isso) o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional no qual ela está rodando no momento.
![Page 42: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/42.jpg)
Como Java funciona
• A máquina virtual Java (JVM)
– É uma máquina imaginária que é implementada pela emulação de um software sobre uma máquina real.
– Prover uma especificação de plataforma de hardware no qual todos os códigos java são compilados. Essa especificação torna os programas java independente de plataforma porque toda compilação é feita para uma máquina imaginária.
42
![Page 43: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/43.jpg)
Como Java Funciona
AloMundo.class
AloMundo.java
Compila
![Page 44: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/44.jpg)
Instalando a plataforma
Conceitos Iniciais • JRE (Java Runtime Environment):
ambiente de execução Java, formado pela JVM e bibliotecas, tudo que você precisa para executar uma aplicação Java.
• JDK (Java Development Kit): Kit para desenvolvimento. Ele é formado pela JRE somado a ferramentas, como o compilador.
• Tanto o JRE e o JDK podem ser baixados do site http://java.sun.com.
![Page 45: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/45.jpg)
Instalando a plataforma
Conceitos Iniciais
• Quando falamos de Java Virtual Machine, estamos falando de uma especificação. Ela diz como o bytecode deve ser interpretado pela JVM. Portanto, existem várias JVM por exemplo:
– Oracle JVM
– JRockit da BEA
– J9 da IBM
![Page 46: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/46.jpg)
Primeiro Programa em Java Selecione File→New File
![Page 47: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/47.jpg)
Clique em Next
Primeiro Programa em Java
Selecione Java
Classe Java Principal
![Page 48: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/48.jpg)
Digite o nome do Arquivo Primeiro Programa em Java
Clique em Finish
![Page 49: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/49.jpg)
Primeiro Programa em Java
Comentários
![Page 50: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/50.jpg)
Comentários
• Utilizados para documentar parte do código
• Não fazem parte do programa – não são compilados
• Documentar programas através de comentários é uma boa prática de programação
![Page 51: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/51.jpg)
Primeiro Programa em Java Especificador de Acesso
Em java todo código deve ser colocado em uma classe
Nome da Classe
Indica que, a classe está acessivel a outras classes
de outros pacotes
![Page 52: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/52.jpg)
Primeiro Programa em Java Indica o início de um bloco
Indica o fim de um bloco
![Page 53: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/53.jpg)
Primeiro Programa em Java Método realiza uma tarefa, mas não retorna nehuma
informação
A execução de qualquer programa em java inicia
pelo main
Exceto Applets
Os parentese indicam que o main
é um método
![Page 54: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/54.jpg)
Primeiro Programa em Java System.out
É a saída padrão do sistema
A mensagem
![Page 55: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/55.jpg)
Primeiro Programa em Java • Saída de Dados
▫ Para saída dos dados podemos usar um dos comandos:
System.out.print()
System.out.println()
Saída do Programa
![Page 56: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/56.jpg)
Tipos de Dados Primitivos
![Page 57: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/57.jpg)
Declarando e inicializando variáveis
![Page 58: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/58.jpg)
Exemplo
![Page 59: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/59.jpg)
As 53 palavras-chave de Java
![Page 60: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/60.jpg)
Operadores
![Page 61: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/61.jpg)
Operadores de Incremento
![Page 62: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/62.jpg)
Operadores Relacionais
![Page 63: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/63.jpg)
Operadores Lógicos
![Page 64: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/64.jpg)
Obtendo entrada do teclado
• Existem várias formas:
▫ Classe Scanner
▫ Interface Gráfica
![Page 65: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/65.jpg)
Classe Scanner • Encontrada no pacote java.util
![Page 66: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/66.jpg)
Etapas para obter uma entrada Indica que queremos utilizar a
classe Scanner
Método main
Declara a classe
![Page 67: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/67.jpg)
Etapas para obter uma entrada Indica que queremos utilizar a
classe Scanner
Cria uma variável do tipo Scanner
Imprime uma mensagem para o
usuário
![Page 68: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/68.jpg)
Etapas para obter uma entrada
Imprime o valor da entrada
Recebe a entrada do usuário
![Page 69: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/69.jpg)
Conversão de String
• É possível converter String para qualquer tipo primitivo
▫ int – Integer.parseInt( string )
▫ Float – Float.parseFloat( string )
▫ Double - Double.parseFloat( string )
• Da mesma forma é possível converter tipos primitivos para String
![Page 70: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/70.jpg)
Conversão de String
Convertendo de String para inteiro
![Page 71: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/71.jpg)
A API Java
![Page 72: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/72.jpg)
Estruturas de Controle
• Estruturas de Seleção
• Estruturas de Repetição
![Page 73: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/73.jpg)
Estrutura de Seleção
• Java possui as seguintes estruturas de seleção
▫ if
▫ if – else
▫ switch
![Page 74: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/74.jpg)
Comando if • Especifica que um comando ou bloco será
executado se e somente se uma determinada condição booleana for verdadeira
![Page 75: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/75.jpg)
Comando if - else • Especifica que um comando ou bloco será
executado quando uma condição booleana for verdadeira e outro comando quando a condição for falsa
![Page 76: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/76.jpg)
Comando switch • Permite multiplicidade de escolha
![Page 77: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/77.jpg)
Estruturas de Repetição
• Permite executar um bloco de instruções um número determinado de vezes
▫ while
▫ do – while
▫ for
![Page 78: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/78.jpg)
Comando while
• Os comandos no laço while são executados enquanto uma condição booleana for verdadeira
![Page 79: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/79.jpg)
Comando do - while
• A principal diferença no do – while é que os comandos são executados pelo menos uma vez;
![Page 80: Java e Orientação a Objetos · PDF file•Java é uma linguagem completamente orientada a objeto com forte suporte a técnicas adequadas de engenharia de software](https://reader034.fdocument.pub/reader034/viewer/2022051719/5a72fad97f8b9aa7538e26dd/html5/thumbnails/80.jpg)
Comando for
• Permite a execução de um comando ou um bloco um pré-definido número de vezes