Orientação a objetos

Propaganda
Laboratório I
Mateus Raeder
Linguagem de Máquina x Linguagem de Alto Nível
 A tarefa de programar tem por objetivo fazer com que o
computador execute instruções que desejamos
 Porém, a máquina não entende a nossa linguagem
 Então, como passamos estas instruções para a máquina?
Linguagem de máquina
Linguagem de
programação de alto nível
Mateus Raeder – fevereiro de 2009
Tipo mais primitivo de linguagem. É a
linguagem que o computador entende.
Tipo de linguagem criada para facilitar a
comunicação com a máquina. Deve ser
traduzida em linguagem de máquina.
Processos de tradução
Interpretação
Interpretador
Execução
Programa fonte
Exemplo: teste.py
Compilação
Compilador
javac
Programa fonte
Exemplo: teste.java
Mateus Raeder – fevereiro de 2009
01001110
01100111
01001011
00011110
10101100
11001001
Programa objeto (bytecode)
Exemplo: teste.class
Máquina
Virtual Java
(JVM)
Execução
Processo de programação Java
Início
Procurar
erros de lógica
Editar programa
Erro de lógica:
Arquivo fonte
Exemplo.java
Compilar
Erro de compilação:
javac Exemplo.java
é um erro no código
(arquivo) fonte detectado
pelo compilador. O
compilador, ao encontrar
este erro, não gera o
bytecode.
Erros de
compilação?
sim
é um erro no resultado do
programa. Não houve
erros de compilação e
execução, mas os
resultados obtidos não
foram os esperados.
não
Fim
Bytecode
Exemplo.class
Erro de execução:
é um erro que ocorre
durante a execução do
programa. É gerada uma
exception, uma mensagem
de erro aparece e a
execução é interrompida.
Mateus Raeder – fevereiro de 2009
sim
não
Executar programa
java Exemplo
Testes
suficientes?
sim
sim
Erros de
execução?
não
Verificar resultados
da execução
Resultados
corretos?
não
Orientação a objetos
 Programação orientada a objetos!
Os problemas são pensados em termos de
OBJETOS, suas propriedades e métodos
 Para um sistema de uma biblioteca, por exemplo, teremos a
divisão de objetos, tais como Livro, Andar, Matéria, Atendente,
Usuário, etc...
OBJETO
Mateus Raeder – fevereiro de 2009
representa
Entidade do
mundo real
Orientação a objetos
Floribela
Antoniolo
- Nome: Floribela
- Sexo: feminino
- Cor do cabelo: verde
- Cor da roupa: azul
- Cor da pele: amarela
- Cor dos sapatos: vermelho
- Altura: 6cm
- Humor: assustada
- Nome: Antoniolo
- Sexo: masculino
- Cor do cabelo: preto
- Cor da roupa: verde e branca
- Cor da pele: marrom
- Cor dos sapatos: azul
- Altura: 5,5cm
- Humor: feliz
Mateus Raeder – fevereiro de 2009
Orientação a objetos
 Uma classe, então, vai representar o conjunto de objetos que
possuem determinadas características em comum
 Ao definir uma classe, então, devemos definir dois pontos
principais:
1 – atributos, que são informações da classe (cor do
cabelo, sexo, altura, etc...)
2 – métodos, que são as ações que podem ser
realizadas pelos objetos de cada classe (andar, correr, falar,
pensar, etc...)
Mateus Raeder – fevereiro de 2009
Orientação a objetos
Classe Pessoa
Objeto Floribela
Objeto Antoniolo
Floribela e Antoniolo
são instâncias da classe Pessoa
Mateus Raeder – fevereiro de 2009
IDE
Integrated Development Environment
 Ambiente Integrado para o Desenvolvimento de
software
 BlueJ
 Download em: http://bluej.org
 Para usar o BlueJ é preciso instalar também o Java SE
Development Kit (JDK) que pode ser baixado de
http://java.sun.com/javase/6/
Mateus Raeder – fevereiro de 2009
Download