Orientação a Objetos e a Linguagem Java



Documentos relacionados
Programação Orientada a Objetos (DPADF 0063)

Introdução à Linguagem Java

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Lógica de Programação

Desenvolvimento Web TCC Turma A-1

Programação de Computadores II TCC Turma A-1

Java para Desktop. Introdução à Plataforma Java JSE

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação Orientada a Objetos

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Orientação a Objetos com Java

CURSO DE PROGRAMAÇÃO EM JAVA

Linguagens de. Aula 02. Profa Cristiane Koehler

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

PROGRAMAÇÃO JAVA. Parte 1

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

FBV - Linguagem de Programação II. Um pouco sobre Java

1. Apresentação Objetivos

Programação de Computadores II: Java. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Java. Marcio de Carvalho Victorino

Linguagem de Programação Introdução a Linguagem Java

Programação Orientada a Objetos

Java Linguagem de programação

Programação online em Java

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Java Básico. Aula 1 por Thalles Cezar

Laboratório I Aula 2

Prof. Esp. Adriano Carvalho

AULA Uma linguagem de programação orientada a objetos

Introdução a Linguagem

Professora Martha Spalenza Professora de Informática da Faetec

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Desenvolvimento de Aplicações Locais na Plataforma Microsoft

Linguagem de Programação Visual

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

Um pouco do Java. Prof. Eduardo

Programação por Objectos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Java Como Programar, 8/E

Instalando o J2SE 5.0 JDK no Windows 2000/XP

Curso de Aprendizado Industrial Desenvolvedor WEB

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

TISSNet Instalando e Configurando Schemas

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Java. Guia do Programador. Peter Jandl Junior. Novatec

Introdução ao IDE Netbeans (Programação Java)

Projeto de Software Orientado a Objeto

Figura 01 Kernel de um Sistema Operacional

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Ferramentas: jar e javadoc

Faculdade Latino Americana Programação Orientada a Objetos II - 4º Período Ciências da Computação. REVISÃO POO Parte 01

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Aspectos de Segurança em Programação com Java

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

UFRPE Prof. Gustavo Callou


PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB

Instalando software MÉDICO Online no servidor

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

O modelo do computador

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

LINGUAGEM C UMA INTRODUÇÃO

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Tutorial de instalação do Java 7 no Windows 7.

Sintaxe Básica de Java Parte 1

FundamentosemInformática

Introdução às Linguagens de Programação

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

CONVENÇÃO DE CÓDIGO JAVA

Sistemas Operacionais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

MC-102 Aula 01. Instituto de Computação Unicamp

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

PROGRAMAÇÃO PARA SERVIDOR INTRODUÇÃO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Transcrição:

Orientação a Objetos e a Linguagem Java Afrânio Assis afranio@gmail.com Novembro/2006 1

Objetivos do Curso Apresentar o paradigma orientado a objetos como técnica para elaboração de projetos e implementação de sistemas de software de qualidade. Introduzir os conceitos e recursos básicos da linguagem de programação Java, sendo esta uma alternativa à orientação a objetos. Conhecer ferramentas de desenvolvimento relacionadas à linguagem de programação Java. Novembro/2006 2

Conteúdo Programático Fundamentos e Características da Linguagem Java Programação Orientada a Objetos Tipos, Literais, Operadores e Controle de Fluxo Criação e Destruição de Objetos Encapsulamento e Visibilidade Reutilização com Herança e Composição de Objetos Interfaces e Polimorfismo Exceções e Tratamento de Erros Novembro/2006 3

Conteúdo Programático Arrays Arquivos e Fluxos de Dados em Java Novembro/2006 4

Avaliações Avaliação ao final de cada unidade, em data agendada pela instituição. Possibilidade: Realização de trabalhos sobre os temas ministrados, com o objetivo de aprofundar os conhecimentos na área. Peso dos trabalhos: 20% a 30% da nota Haverá reposição apenas para a avaliação escrita Freqüência mínima de 75% das aulas! Novembro/2006 5

Bibliografia ECKEL, B., Thinking in Java, 3ª Edição, Prentice Hall, 2000 (http://www.bruceeckel.com) DEITEL, P. J. e DEITEL H. M., Java: Como Programar, 6ª edição, Pearson, 2006. FLANAGAN, D., Java: O guia Essencial, 5ª edição, Artmed, 2006. ARNOLD K., GOSLING J. e HOLMES D., A Linguagem de Programação Java, 4ª edição, Artmed, 2006. HORSTMANN, C.S. e CORNELL, G., Core Java: Fundamentals, Volume 1, Makron Books, 2000. Novembro/2006 6

Fundamentos e Características da Linguagem Java Novembro/2006 7

Linguagens de Programação Tipos de linguagens de programação: Linguagem de Máquina 0010 0100 0000 0010 0000 0001 0001 1010 0000 0011 0000 0001 Linguagem de Baixo Nível add ecx, ecx sub eax, ecx inc eax Linguagem de Alto Nível contador := 0; a := 3 * a; Novembro/2006 8

Linguagens de Máquina São linguagens voltadas para a máquina São baseadas no código binário utilizado diretamente pelo computador As instruções variam de processador para processador Vantagens: programas são executados com maior velocidade de processamento e ocupam menos espaço de memória Desvantagens: pouca portabilidade (em geral, um programa para um processador não serve para outro) Novembro/2006 9

Linguagem de Baixo Nível As instruções são simplificações da linguagem de máquina que usam códigos mnemônicos Usualmente recebem a denominação de Assembly São linguagens intermediárias entre a linguagem de máquina e a linguagem de alto nível Vantagens: comandos com sintaxe mais inteligível que nas linguagens de máquina Desvantagens: alguns mnemônicos ainda são de difícil compreensão Novembro/2006 10

Linguagens de Alto Nível Existem programas especiais (compiladores ou interpretadores) para traduzir o código para linguagem de máquina Os comandos apresentam um nível mais alto de abstração e próximos da linguagem humana Vantagens: Um programa escrito para uma plataforma pode ser recompilado para outra plataforma, desde que exista o compilador adequado para esta outra plataforma. Desvantagens: Em virtude da distância que existe entre linguagens de máquina e linguagens de alto nível, os compiladores podem gerar código de máquina que é pouco eficiente e ocupa mais memória do que deveria. Novembro/2006 11

Tradutores São programas conversores de linguagens: Montadores - traduzem um programa codificado em linguagem de baixo nível para linguagem de máquina. São chamados de Assembler Interpretadores - transformam instrução por instrução de um programa em linguagem de máquina, cada instrução transformada é executada Compiladores - transformam automaticamente a totalidade de um programa escrito em uma linguagem de alto nível para um programa que possa ser executado pela máquina (programa em linguagem de máquina) Novembro/2006 12

A Tecnologia Java O nome Java é utilizado para referir-se: Uma linguagem de programação de alto nível e orientada a objetos Ao ambiente que oferece suporte ao desenvolvimento e execução de aplicações escritas nessa linguagem Uma biblioteca de classes que podem ser reaproveitadas durante desenvolvimento de aplicações Java foi anunciada pela Sun Microsystems (http://java.sun.com) em 1995. Novembro/2006 13

A Tecnologia Java - Histórico 1991 Grupo de funcionários da Sun (James Gosling, Patrick Naughton e Mike Sheridan) criam o Projeto Green: Projeto Green Criação de uma plataforma de software para aparelhos eletrônicos Desenvolvimento do Sistema Operacional GreenOS Criação da linguagem de programação Oak para operar sob o GreenOS O projeto não obteve sucesso! O mercado para aparelhos eletrônicos não cresceu tanto quanto a Sun esperava. Novembro/2006 14

A Tecnologia Java - Histórico 1993 Direcionamento de aplicações Oak para a Internet, com a intenção de substituir as aplicações em CGI (Common Gateway Interface). A CGI permite que um navegador execute programas residentes no servidor web, que podem processar dados recebidos de formulários de páginas HTML 1994 Oak é rebatizado como Java (cidade de origem de um tipo de café). 1995 A Sun anuncia o lançamento da tecnologia. Novembro/2006 15

Características da Linguagem Java Compilada: Um programa em Java é compilado para o chamado bytecode, que é próximo as instruções de máquina, mas não de uma máquina real. O bytecode é um código de uma máquina virtual idealizada pelos criadores da linguagem, sendo interpretado e executado pela JVM (Máquina Virtual Java). Java pode ser mais rápida do que se fosse apenas interpretada. Um compilador just-in-time(jit) pode produzir código de máquina para os byte-code enquanto eles são interpretados, isso elimina a necessidade de reinterpretá-los futuramente. Novembro/2006 16

Características da Linguagem Java Portável (Independente de Plataforma): O bytecode gerado pelo compilador pode ser transportado entre plataformas distintas que suportam Java (Solaris, Windows-NT, Windows-XP, Mac/Os, etc). Esta portabilidade é importante para a criação de aplicações para a Internet. O próprio compilador Java é escrito em Java, de modo que ele é portável para qualquer sistema que possua o interpretador de bytecodes. Novembro/2006 17

Características da Linguagem Java seu código Compilador (Windows) Programas Tradicionais Compilados Compilador (Solaris) Arq Binário (Windows) Arq Binário (Solaris) Compilador (Linux) Arq Binário (Linux) Novembro/2006 18

Características da Linguagem Java seu código Java Compilador Java (Windows) Programas Java Compilador Java (Solaris) Bytecode Java (Independente de Plataforma) Interpretador Java (Windows) Interpretador Java (Solaris) Compilador Java (Linux) Interpretador Java (Linux) Novembro/2006 19

Características da Linguagem Java Vantagens de Sistemas Multiplataforma: Não há necessidade de mudanças nos programas para funcionamento em diferentes plataformas Apenas uma versão do programa é suficiente para distribuição multiplataforma Software para Internet Novembro/2006 20

Características da Linguagem Java Desvantagens de Sistemas Multiplataforma: Muitas vezes é necessário renunciar à algumas instruções particulares de um ambiente em específico Interpretação pode ter desempenho inferior do que compilação Em particular, a plataforma Java evoluiu bastante Novembro/2006 21

Características da Linguagem Java Orientada a Objetos: Objetos e Classes Encapsulamento de dados e operações Polimorfismo Reutilização de código (herança) Facilidade de extensão e manutenção de código Provê extensa biblioteca de classes (API) Applets (java.applet) Definição de interfaces gráficas (java.awt) Suporte a objetos distribuídos (java.rmi) Novembro/2006 22

Características da Linguagem Java Segurança: A máquina virtual oferece um ambiente de execução seguro. Os bytecodes são verificados antes de serem executados. Inexistência de ponteiros. A coleta automática de lixo evita erros que os programadores cometem quando são obrigados a gerenciar diretamente a memória Novembro/2006 23

Características da Linguagem Java Robustez: A presença de mecanismos de tratamento de exceções torna as aplicações mais robustas, permitindo que elas não sejam finalizadas indevidamente, mesmo quando rodando sob condições adversas. Novembro/2006 24

Características da Linguagem Java Coleta de Lixo: Memória alocada em Java não precisa ser liberada pelo programador. Quando um objeto não tem mais referências apontando para ele, seus dados não podem mais ser usados e, dessa forma, a memória deve ser liberada. Sua função é gerenciar a utilização de memória, procurando áreas de memória que não estejam mais em uso para realizar a liberação das mesmas. Novembro/2006 25

Características da Linguagem Java Eficiência: Java foi criada para ser utilizada em computadores com pouca capacidade de processamento. Java é mais eficiente que grande parte das linguagens de scripting existentes. Um compilador just-in-time(jit). Novembro/2006 26

Ambiente de Programação Java 2 Standard Edition (J2SE): ferramentas e API s essenciais para qualquer aplicação Java, possibilita o desenvolvimento de aplicações Java 2 Enterprise Edition (J2EE): ferramentas e API s para o desenvolvimento de aplicações Web e distribuídas. Java 2 Micro Edition (J2ME): ferramentas e API s para o desenvolvimento de aplicações para equipamentos eletrônicos (celulares, TV Interativa, etc.) Novembro/2006 27

Ambiente de Programação Ambiente Java Sun para Windows: Java SE Development Kit 6.0 (JDK) Endereço: http://java.sun.com/javase/downloads/index.jsp A instalação é simples e intuitiva Java Runtime Enviroment (JRE) Tudo que é necessário para executar aplicações Java Este ambiente é um subconjunto do Java SE, vem sem o compilador e sem as ferramentas para desenvolvimento Novembro/2006 28

Ambiente de Programação Compilador Java: javac Compila arquivos fonte Java com extensão.java Gera arquivos de bytecodes com extensão.class Interpretador Java (Máquina Virtual): java Interpreta arquivos de bytecodes com extensão.class Visualizador de Applets: appletviewer Ferramenta que auxilia no teste de applets Documentador Java: javadoc Aplicativo para geração automática de documentação em html. Novembro/2006 29

Ambiente de Programação Arquivos.jar: JAR é a sigla para Java ARchive, sendo o formato criado pela SUN, baseado no mesmo formato de compactação de arquivos ZIP, Utilizado para distribuir aplicações, ou bibliotecas, através de um só arquivo. Para a criação de arquivos JAR, existe a ferramenta JAR, incluída no J2SDK. Entre as vantagens desse tipo de arquivo, temos a facilidade de transmissão via web, com possibilidade de assinatura digital, controle de versão do componente, além da independência de plataforma Novembro/2006 30

Ambiente Java Típico Editor Disco O programa é criado no editor e armazenado Compilador Disco O compilador cria os bytecodes e armazena Carregador de Classe Disco Memória O carregador de classes coloca os bytecodes na memória principal Novembro/2006 31

Ambiente Java Típico Verificador de bytecode Memória O verificador verifica se todos os bytecodes são válidos e se não violam restrições de segurança Interpretador Memória O interpretador lê os bytecodes e os traduz para linguagem de máquina. Enquanto a tradução ocorre, as instruções obtidas em linguagem de máquina vão sendo executadas. Novembro/2006 32

Etapas - Compilação e Execução Edição A aplicação é criada em um editor e armazenada no disco (extensão.java). Cada programa é considerado uma classe Nome da classe no programa tem que ser igual ao nome do arquivo físico.java A linguagem é case-sensitive, letras maiúsculas diferentes de minúsculas. Compilação O compilador cria bytecodes e os armazena em disco (extensão.class). Novembro/2006 33

Etapas - Compilação e Execução Bytecodes: código que roda em qualquer máquina através da Máquina Virtual Java Novembro/2006 34

Compilação e Execução Etapas Carga O carregador de classes (classloader) carrega os bytecodes na memória principal. Verificação O verificador de bytecodes verifica se os mesmos são válidos e não violam as restrições de segurança de Java. Execução O interpretador lê os bytecodes e os traduz para uma linguagem na qual o computador possa entender. Novembro/2006 35

Ambiente de Desenvolvimento Programas Java são compilados e interpretados javac compilador java interpretador Novembro/2006 36

Eclipse: Ambiente de Desenvolvimento Formado por gigantes como IBM, HP, Oracle, Borland, Rational, etc. (http://www.eclipse.org) Facilidades de utilização do ambiente Plug-in para acréscimo de funcionalidades Facilita a criação e refatoramento de código Java Novembro/2006 37

Ambiente de Desenvolvimento Novembro/2006 38

Ambiente de Desenvolvimento Criação de um novo Projeto: File NewProject Novembro/2006 39

Ambiente de Desenvolvimento Onde é solicitado o nome do projeto digite: Primeiro Programa Novembro/2006 40

Ambiente de Desenvolvimento Para criar uma Classe: Clique com o botão direito sobre o projeto criado Selecione a opção: NewClass Onde é solicitado o nome da classe digite: BemVindo Novembro/2006 41

Ambiente de Desenvolvimento Deixe o código de sua classe conforme é mostrado a seguir: import javax.swing.joptionpane; public class BemVindo { public static void main(string[] args) { String nome = JOptionPane.showInputDialog( "Digite seu nome" ); JOptionPane.showMessageDialog( null, nome + " bem vindo a Java", "Bem Vindo", JOptionPane.PLAIN_MESSAGE ); } } Novembro/2006 42

Ambiente de Desenvolvimento Para executar clique com o botão direito sobre o código da classe e selecione a opção: Run As Java Application Para gerar a documentação html de seu programa selecione no menu: Project Generate Javadoc Selecione o seu projeto e escolha o local onde a documentação será salva. Clique em finish. Novembro/2006 43

Explicando nosso Primeiro Programa Explicando alguns termos: import javax.swing.joptionpane importa uma biblioteca da linguagem Java que permite criar caixas de diálogo. public é um especificador de visibilidade, indicando que este método é acessível externamente a esta classe. class é uma palavra reservada que marca o início da declaração de uma classe. BemVindo é o nome dado a classe. O "abre chaves" marca o início das declarações da classe que são os atributos e métodos. Novembro/2006 44

Explicando nosso Primeiro Programa static é um outro especificador de visibilidade, indicando que o método deve ser compartilhado pelos objetos que serão criados a partir desta classe. void é uma palavra reservada que indica que o método main não retorna nenhum valor main corresponde a um método especial que indica para a máquina virtual Java o início da execução do programa. Novembro/2006 45

Explicando nosso Primeiro Programa JOptionPane.showInputDialog representa a chamada da operação showinputdialog da classe JOptionPane que exibe uma janela para leitura de dados. JOptionPane.showMessageDialog representa a chamada da operação showmessagedialog da classe JOptionPane que exibe uma janela contendo alguma informação. Novembro/2006 46

Erros no Código Durante o desenvolvimento, erros podem ocorrer em dois domínios: tempo de compilação e tempo de execução. É essencial aprender a identificar a causa do erro LEIA a mensagem e identifique a linha onde ocorreu o erro Corrija os erros na ordem em que eles aparecem Sempre recompile depois de corrigir os erros Novembro/2006 47