Upload
emanuelle-almas
View
216
Download
0
Embed Size (px)
Citation preview
1 de 38
Linguagens de Programação Orientadas a Objetos
Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa
Marco [email protected]
Aula 02 - Ambiente Java e Delphi
http://www.ufpa.br/sampaio/bd2003/lpoo
Prof. Marco Fagundes
2 de 38
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
9 de 38
Ambiente Java
10 de 38
Ambiente JavaPreparando 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
11 de 38
Ambiente JavaPreparando 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\”
12 de 38
Ambiente de Desenvolvimento Delphi
Terminologia Design vs Run time; Formulários; Propriedades; Métodos;
Componentes
13 de 38
Ambiente de Desenvolvimento Delphi
Terminologia Design vs Run time; Formulários; Propriedades; Métodos;
Componentes
14 de 38
Ambiente de Desenvolvimento DelphiConvençã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
15 de 38
Ambiente de Desenvolvimento Delphi
Manipulando Componentes Inserindo/Excluindo Movendo (ctrl+seta mov.cursor) Redimensionando (shift+seta mov.cursor)
16 de 38
Ambiente de Desenvolvimento Delphi Projetos
Units (Arquivos .pas) Forms (Arquivos .dfm)
obs: Convenção de nomes
17 de 38
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.
18 de 38
Básico da Linguagem Object Pascal Arquivo de Unit
interfaceuses<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>
implementationuses<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.
19 de 38
Básico da Linguagem Object Pascal Relação Projeto/Unit
ProgramUses
...
Unit A
Unit B
Unit C
Unit D
Unit E
20 de 38
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;
Functionfunction <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;
21 de 38
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} //textoInstruções Simples(;) e Compostas (begin...end;)
22 de 38
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;
23 de 38
Básico da Linguagem Object PascalEstruturas 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
24 de 38
Básico da Linguagem Object Pascal Atribuição (‘:=’) versus Igualdade(‘=’) Operadores Ariméticos
25 de 38
Básico da Linguagem Object Pascal Operadores Relacionais
26 de 38
Básico da Linguagem Java
27 de 38
Básico da Linguagem JavaEstrutura mínima de um Programa em Javaclass <nome> {
public static void main (<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
28 de 38
Básico da Linguagem JavaEscopo 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 ({...})
29 de 38
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 \’ \” \\
30 de 38
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()
31 de 38
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)
32 de 38
Básico da Linguagem JavaEstruturas 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
33 de 38
Básico da Linguagem Java Atribuição (‘=’) versus Igualdade(‘==’) Operadores Ariméticos
Operadores Relacionais
34 de 38
Básico da Linguagem Java Operadores Lógicos
35 de 38
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
36 de 38
Java e Delphi(Prática)
37 de 38
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
Delphi Java
38 de 38
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