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