JAVA: Conceitos Iniciais
Introdução à Programação Orientada
a Objetos
Programa = algoritmo em alguma linguagem
de programação
Programar é conceber o código que
implementará o algoritmo na linguagem
escolhida
Comandos e declarações da linguagem de
programação
Estabelecimento dos dados que serão usados, como
eles serão transformados e como serão apresentados
Boa
programação
é:
conceber
alg.
apropriado – conhecer bem a linguagem que irá
descrevê-lo
Introdução à Programação
Orientada a Objetos
Um programa em qualquer linguagem, é um texto em
que são escritos as declarações e os comandos
necessários à execução do algoritmo que o programa
implementa.
Programa fonte
Deve ser traduzido para um texto equivalente escrito na forma
de comandos binários
Compilação: processo de tradução – resulta no código
binário.
Link-edição: liga o código binário a outros códigos de que ele
necessita.
Programa executável
Introdução à Programação
Orientada a Objetos
Para ser processado, o programa executável deve ser
carregado para a memória e colocado sob o controle de um
ambiente de execução, que fará com que cada comando
seja executado pelo processador.
Este ambiente é influenciado pela arquitetura e pelo
sistema operacional do computador
Todo programa deve ter uma estrutura que permita
definir seu início e fim.
Ponto de entrada e termino bem definidos.
Programas Convencionais
A estrutura dos programas convencionais consiste em
uma rotina principal e, opcionalmente, várias rotinas
auxiliares. Cada rotina consiste em uma seqüência de
comandos, com início e fim bem definidos.
As rotinas auxiliares são utilizadas para melhor estruturar o
programa. Ex: cálculos repetidos várias vezes no custo do
processamento.
São acionadas sempre que necessário.
Ambiente de execução subordinado ao sistema operacional do
computador no qual o programa é executado.
Programas Orientados a Objetos
Estrutura baseada no conceito de classe
Cada classe contém declarações e comandos
que, em conjunto, implementam o algoritmo do
programa
Comandos organizados na forma de métodos
Todo programa pelo menos uma classe deve
possuir um método principal (ponto de início da
execução)
Ambiente de execução oferecida pela JVM
Simula uma máquina real, com políticas de execução
próprias, capaz de executar os programas Java
Estrutura de um Programa Java
Um programa Java consiste em consiste em um
conjunto de unidades de compilação.
Cada unidade de compilação contém a especificação de
classes e interfaces, juntamente com a declarações
necessárias à compilação.
Quando compiladas, essas unidades geram arquivos com
códigos binários referentes às classes e interfaces nelas
descritas.
Especificação de uma classe:
<DeclClasse>::= [<Modificadores>] class <Indent> [Super] [Interfaces] <{CorpoClasse}>
Escrevendo Programas Java
A especificação das classes que compõem um programa
Java pode ser feita usando-se editores de texto comuns e
deve ser salva com a terminação “.java”
Cada arquivo representa uma unidade de compilação,
podendo conter a especificação de uma ou mais classes e
interfaces.
A compilação é feita através do comando javac seguido do
nome do arquivo que contém as classes que devem ser
compiladas
Para cada classe contida no arquivo o compilador gera um
arquivo com código binário correspondente à classe
Os arquivos binários são gerados com o nome da classe .class
Arquivos binários tem seus comandos executados pela JVM
Passos para execução de
Programas Java
1.
Digite, em um editor de texto, a especificação da classe
2.
Salve o arquivo com o nome ProgPrimeiro.java
3. No mesmo diretório onde o arquivo recém-criado está
armazenado inicie o processo de compilação
digitando o comando
javac ProgPrimeiro.java
Passos para execução de
Programas Java
Se tudo correr bem, a compilação terminará sem
mensagem de erro. E ao final, será gerado um arquivo
de nome ProgPrimeiro.class que contém o código
binário da classe declarada no arquivo
ProgPrimeiro.java
4 - A execução de um programa começa com o
comando java <Classe>, neste caso java
ProgPrimeiro.
// Classe é a identificação da classe principal
Método Main
Este método deve estar sempre presente em uma classe
para que ela possa ser executada pela JVM, o mesmo
possui a seguinte sintaxe:
<MétodoMain>::= public static void main (String [] <IdArgs>)
{[<CorpoMetodo>]}
--public diz que o método é publico, é necessário para que a maquina virtual possa referi-lo
--static – método estático podendo ser chamado sem o concurso de outro objeto
--void – método não retorna valor
-- main – identifica o método
--nos parâmetros do método temos a declaração de vetor cujos elementos são cadeias de
caracteres e cujo identificador, <IdArgs> é qualquer identificador Java válido
Método Main
Declarações válidas
Classe Declara{
public static void main (String [] arg) {
}
}
Classe Declara{
public static void main (String [] maR23) {
}
}
Usando Classes e Objetos
Os conceitos de classe e objetos são centrais
para a programação orientada o objetos.
Cada objeto pertence a uma classe e possui:
identificação única - atribuída pelo ambiente no
momento de criação
e um conjunto de atributos que assumem valores
que compõem o estado do objeto
Especificação : descreve as características de cada objeto,
inerentes a cada classe, em termos de atributos e métodos
Usando Classes e Objetos Exemplo
Faça um programa que permita o registro de jogos de
futebol, com a definição dos times e dos gols de cada
time e a impressão do resultado final.
Para solucionar esse problema, concebemos um objeto
para representar um jogo de futebol. Cada objeto deve possuir
um estado capaz de armazenar os nomes de cada time e
deve modificar a quantidade de gols de cada time, além de
imprimir o resultado do jogo.
1.
2.
3.
4.
5.
class Jogo {
String timeA;
String timeB;
int golTimeA;
int golTimeB;
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
void defineTimeA (String time){
timeA= time;
}
void defineTimeB(String time){
timeB= time;
}
void marcaGolA(){
golTimeA = golTimeA +1;
}
void marcaGolB(){
golTimeB = golTimeB +1;
}
void impResultado (){
System.out.println(timeA+” “+ golTimeA+” x timeB+” “+ golTimeB+” )
}
}
O algoritmo
A idéia é que cada jogo que queremos representar
o programa crie um objeto da classe jogo, use os
métodos defTimeA e defineTimeB para registrar os
nomes dos times e os métodos golTimeA e golTimeB
para registrar os gols de cada time.
Nosso primeiro programa OO
Elaborar um programa que imprima no monitor
de vídeo a frase “primeiro programa”
Temos que ter um objeto capaz de realizar a
operação de impressão. Neste caso basta solicitar
ao objeto que imprima o texto “primeiro programa”.
O método main de nosso programa deve conter
então:
Nosso primeiro programa OO
(a) Criar um objeto capaz de imprimir texto
(b) Solicitar ao objeto criado, usando como
argumento o texto “primeiro programa”, que
execute o método que imprime textos.
Obs: Já existe no ambiente Java um objeto capaz
de imprimir mensagens – System.out
-- e este objeto ao executar o método println
imprime no monitor de vídeo o valor de seu
argumento
Codificar, Compilar e Executar
Codificação : Use um editor de texto para digitar o
programa a seguir, salvando – o com o nome
ProgPrimeiro.??
class ProgPrimeiro{
public static void main (String [] arg) {
System.out.println (“Meu primeiro programa”);
}
Compilação: use o comando javac ProgPrimeiro
para compilar o programa. Como resultado será
criado o arquivo binário ProgPrimeiro.class
Codificar, Compilar e Executar
Execução: Use o comando java ProgPrimeiro
para executar o programa e como resultado será
impresso no vídeo a mensagem
Meu primeiro programa.