320 likes | 407 Views
Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes mafm@cin.ufpe.br Aula 02 - Ambiente Java e Delphi http://www.ufpa.br/sampaio/bd2003/lpoo. Prof. Marco Fagundes. Roteiro. Por que Java e Delphi?
E N D
Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes mafm@cin.ufpe.br Aula 02 - Ambiente Java e Delphi http://www.ufpa.br/sampaio/bd2003/lpoo Prof. Marco Fagundes
Roteiro • Por que Java e Delphi? • Histório e Características (Java e Delphi) • Ambiente Java e Delphi • Básico da Linguagem Object Pascal • Básico da Linguagem Java • Passos para Criar uma Aplicação • Tratamento Simples de Entrada e Saída
Ambiente Java Preparando o Ambiente Java da Sun • A configuração mínima necessária para a confecção, compilação e execução de programas Java consta do seguinte [herder2]: • Java Development Kit (JDK), obtido gratuitamente do site da Sun (http://java.sun.com) e um editor de textos (e.g., Notepad ou Vi); ou • Um Ambiente Integrado de Desenvolvimento (IDE) para a linguagem Java (e.g., JBuilder, Forte for Java, Visual Café) • O JDK consiste basicamente do seguinte: • API Java: todas as classes e interfaces organizadas em pacotes • As fontes classes, interfaces e métodos da API • Applets demonstrativos com exemplos de utilização • Máquina Virtual Java (java) • Visualizador de Applets (appetviewer) • Ferramentas de desenvolvimento: compilador Java (javac), gerador de métodos nativos C (javah), gerador de documentação (javadoc), jar e etc
Ambiente Java Preparando o Ambiente Java da Sun • De posse do JDK deve-se efetuar sua instalação e em seguida configurar a variável de ambiente CLASSPATH, para indicar o caminho para as classes da API. Por exemplo, CLASSPATH=C:\Java\lib\tools.jar;. • Incluir na variável PATH o caminho “java\bin\”
Ambiente de Desenvolvimento Delphi Terminologia • Design vs Run time; Formulários; Propriedades; Métodos; Componentes
Ambiente de Desenvolvimento Delphi Terminologia • Design vs Run time; Formulários; Propriedades; Métodos; Componentes
Ambiente de Desenvolvimento Delphi Convenção de Nomes para Componentes • Uma propriedade que é comum a todos os componentes, é a propriedade NAME. O Delphi sugere nomes para os componentes baseado em seu tipo, inserindo um quantitativo no final. • Alterar o nome do componente torna seu código muito mais legível. Utilize seguintes as regras: • Mantenha sempre o mnemônico do tipo como primeira parte do nome do componente • Após o nome mnemônico, adicione um nome descritivo indicando o uso do componente • Crie mnemônico do componente removendo suas vogais(exceto quando o componente começar com uma vogal ou se esta auxiliar na expressão do seu significado) • Retire consoantes duplicadas subsequentemente • Caso o nome do componente conflite com outro criado através destas regras, comece adicionando vogais da esquerda para a direita
Ambiente de Desenvolvimento Delphi Manipulando Componentes • Inserindo/Excluindo • Movendo (ctrl+seta mov.cursor) • Redimensionando (shift+seta mov.cursor)
Ambiente de Desenvolvimento Delphi • Projetos • Units (Arquivos .pas) • Forms (Arquivos .dfm) obs: Convenção de nomes
Básico da Linguagem Object Pascal • Arquivo de Projeto program <nome do programa>; uses <nome das units>; const <nome da constante>=<valor da constante>; type <identificador do tipo>=<definição do tipo>; var <nome da variável> : <tipo da variável>; <definição de procedures e functions> begin <instruções>; ... end.
Básico da Linguagem Object Pascal • Arquivo de Unit interface uses <nome das units>; const <nome da constante>=<valor da constante>; type <identificador do tipo>=<definição do tipo>; var <nome da variável> : <tipo da variável>; <declaração de procedures e functions> implementation uses <nome das units>; const <nome da constante>=<valor da constante>; type <identificador do tipo>=<definição do tipo>; var <nome da variável> : <tipo da variável>; <declaração de procedures e functions> initialization <instruções>; finalization <instruções>; end.
Unit A Unit D Program Uses ... Unit B Unit E Unit C Básico da Linguagem Object Pascal • Relação Projeto/Unit
Básico da Linguagem Object Pascal • Procedure procedure <nome>(<nomeParam>: <tipoParam>, <nomeParam>: <tipoParam>); const <nome da constante> = <valor literal>; var <nome da variável> : <tipo da variável> begin <instruções>; ... end; • Function function <nome>(<nomeParam>:<tipoParam>,<nomeParam>:<tipoParam>):<tipoRetorno>; const <nome da constante> = <valor literal>; var <nome da variável> : <tipo da variável> begin <instruções>; ... end;
Básico da Linguagem Object Pascal Básico da Linguagem Object Pascal • Identificadores: Utilizados para identificar units, procedimento e variáveis (utilizar padrão de codificação) • Literais: Valores utilizados em atribuição, passagem de parâmetro • Variáveis: Posição de memória (utilizar padrão de codificação) • Sintaxe declaração: var nome_variável: tipo; Escopo • O escopo de uma variável se refere à visibilidade e tempo de vida. A visibilidade é determinada pelo local onde a variável pode ser acessada(public, private, protected e published). O tempo de vida especifica por quanto tempo ela manterá seu valor e permanecerá acessível Comentários • (*texto*) { texto} //texto Instruções • Simples(;) e Compostas (begin...end;)
Básico da Linguagem Object Pascal Tipos Primitivos de Dados • Delphi é uma linguagem fortemente tipada • Numéricos (Integer ,Longint ,Byte, Real, Double) • Boolean (true e false) • Char(‘.’) e String (‘...’) • Operações: Length(String); Copy(String,IndiceInicial,Quantidade); UpperCase(String); LowerCase(String); Pos(String,SubString); S1 + S2 ou concat(S1,S2); Estrutura de Dados • Array • Type TintList = array[1..100] of integer; • Para utilizar o array declara-se uma variável=> var arList: TintList;
Básico da Linguagem Object Pascal Estruturas de Controle • Estruturas de Decisão • if(condição) then...else • case<variável> of valores:<instrução>; else <instrução>; end; • Estruturas de Repetição • while(condição) do • repeat...until(condição) • for <var controle> := <valor inicial> to <valor final> do • Break e Continue
Básico da Linguagem Object Pascal • Atribuição (‘:=’) versus Igualdade(‘=’) • Operadores Ariméticos
Básico da Linguagem Object Pascal • Operadores Relacionais
Básico da Linguagem Java
Básico da Linguagem Java Estrutura mínima de um Programa em Java class <nome> { publicstatic voidmain (<parametro>) { <declarações> <comandos> } } Obs: sensitividade no Java Básico da Linguagem Java • Identificadores: Utilizados para identificar classes, métodos e atributos (utilizar padrão de codificação) • Literais: Valores utilizados em atribuição, passagem de parâmetro • Variáveis: Posição de memória (utilizar padrão de codificação) • Sintaxe declaração: tipo_retorno nome_variável
Básico da Linguagem Java Escopo • O escopo de uma variável se refere à visibilidade e tempo de vida. A visibilidade é determinada pelo local onde a variável pode ser acessada(public, private, protected e de pacote). O tempo de vida especifica por quanto tempo ela manterá seu valor e permanecerá acessível Comentários • /*texto*/ /** texto*/ //texto Instruções • Simples(;) e Compostas ({...})
Básico da Linguagem Java • Tipos Primitivos de Dados • Java é uma linguagem fortemente tipada • Numéricos (byte, short, int, long, double e float) • obs: Não confundir com as Classes Integer, Double... • Boolean (true e false) • Char (Unicode - 2Bytes - 32.768 caracteres diferentes - ‘’ ) • Caracteres sem representação visual (‘\’) • Ex: \n \t \’ \” \\
Básico da Linguagem Java • String • Sequência de caracter tratada como unidade única. • Java fornece a classe String • Exemplo: String s1 • Inicialização de String: s = “Bem vindo!!”; ou s = new String(“Bem vindo!!”) • s.length(); s.charAt(Indice); s.getChars(IndiceInicial, IndiceFinal, ArrayRetorno, IndiceInicialArray); s1.equals(s2); s1.equalsIgnoreCase(s2); s1.substring(IndiceInicial, IndiceFinal); • Concatenando Strings: s1 + s2 ou s1.concat(s2) • Métodos diversos: s1.toUpperCase(); s1.toLowerCase(); s1.trim()
Básico da Linguagem Java • Estrutura de Dados • Array: • Ex: int a[ ] • Vector: • Ex: Vector v = new Vector (1) • Métodos Principais: v.addElement (el); v.removeElement(el); v.firstElement(); v.lastElement(); v.isEmpty(); v.contains(key)
Básico da Linguagem Java Estruturas de Controle • Estruturas de Decisão • if if/else • switch(variável)...case(valor) • Estruturas de Repetição • while(condição) • do...while(condição) • for (tipo_variável nome_variável_controle = valor_inicial; condição_de_continuação_laço; incremento da variável) • Break e Continue
Básico da Linguagem Java • Atribuição (‘=’) versus Igualdade(‘==’) • Operadores Ariméticos • Operadores Relacionais
Básico da Linguagem Java • Operadores Lógicos
Passos para Criar uma Aplicação • Criar a estrutura de diretórios do projeto • Crie a interface de usuário • Ajuste as propriedades dos objetos da interface • Escreva código para os eventos • Salve o projeto (convenção de nomes) • Teste e depure a aplicação • Crie o programa de instalação da sua aplicação
Java e Delphi (Prática)
Entrada e Saída de Dados • Exibindo Mensagem para o Usuário • Em Delphi Application.MessageBox(<mensagem>,<título >,<ícone a ser exibido>); Ex:Application.MessageBox(‘Registro Encontrado.’,’Informação’,MB_ICONINFORMATION); • Em Java JOptionPane.showMessageDialog(null,<mensagem>,<título >,<ícone a ser exibido>); Ex: JOptionPane.showMessageDialog (null,”Registro Encontrado”,”Informação”,JOptionPane.INFORMATION_MESSAGE); obs: Atentar para sensitividade do Java Java Delphi
Entrada e Saída de Dados • Recebendo Entrada de Dados • Em Delphi inMsg:= InputBox(<título da janela>,<dado solicitado>,<conteúdo padão>); Ex: inMsg:= InputBox(‘Entrada de Dados’,’Digite Código:’,’-1’); • Em Java inMsg = JOptionPane.showInputDialog(<mensagem>); Ex: inMsg:= JOptionPane.showInputDialog(“Digite Código”); obs: Atentar para sensitividade do Java