Title: Linguagens de Programa
1-
- Linguagens de Programação Orientadas a Objetos
- Pós-Gradução(Lato-Sensu) em Sistemas de Banco de
Dados - UFPa - Marco Fagundes
- mafm_at_cin.ufpe.br
- Aula 02 - Ambiente Java e Delphi
- http//www.ufpa.br/sampaio/bd2003/lpoo
? Prof. Marco Fagundes
2Roteiro
- 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
3Java e Delphi
- Por que Java e Delphi?
- Java tem adquirido popularidade juntamente com o
crescimento da Internet. Considerada uma
linguagem ideal para o desenvolvimento de
sistemas Web, permite também que se desenvolva
aplicação standalone/cliente-servidor modulares e
portáveis de forma fácil - Por outro lado o Delphi, é largamente utilizado
no desenvolvimento cliente-servidor, o qual
possibilita rapidez e facilidade na construção
de GUIs (Interfaces Gráficas com o Usuário) bem
elaboradas - Em suma, Java e Delphi são linguagens largamente
utilizadas no meio acadêmico e industrial, em se
tratando de aplicação de conceitos teóricos da
orientação a objetos
4Java
- Histórico
- A Sun Microsystems financiou o projeto Green em
1991 que resultou no desenvolvimento de uma
linguagem baseada em C e C - Com a popularidade da WWW (World Wide Web) em
1993 a equipe da Sun viu o potencial de usar
Java para criar páginas Web com o chamado
conteúdo dinâmico - Em maio de 1995, a Sun anunciou Java formalmente
em uma conferência importante - Características
- Simples e Familiar
- Orientada a Objetos
- Robusta
- Suporte a Programação Concorrente
5Java
- Características
- Compilada e Independente de Plataforma
6Java
- Características
- Compilada e Independente de Plataforma
Programa Java
Compilador
Interpretador
Interpretador
Interpretador
7Delphi
- Histórico
- Pascal foi desenvolvido originalmente por Nicklas
Wirth no final dos anos 60, mas é considerada uma
das primeiras linguagens da década de 70 - Em 1984 a Borland lançou o Turbo Pascal, o qual
era superior a muitos compiladores Pascal
disponíveis - O Object Pascal, como encontrado no Delphi, é um
superconjunto da versão anterior do Pascal,
Borland Pascal with Objects 7.1 - O próprio Delphi foi escrito em Object Pascal e o
ambiente inteiro é uma aplicação Delphi - Características
- Executáveis puros, sem a necessidade de
bibliotecas run-time para a distribuição de
aplicações - Orientada a objetos (Object Pascal)
- Ferramentas visuais, two-way tools
- Tratamento de erros com exceções
8Delphi
- Versões do Delphi
- Standard
- Professional
- Client/Servidor
9Ambiente Java
10Ambiente 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
11Ambiente 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, CLASSPATHC\Java\lib\tools.j
ar. - Incluir na variável PATH o caminho java\bin\
12Ambiente de Desenvolvimento Delphi
- Terminologia
- Design vs Run time Formulários Propriedades
Métodos Componentes
13Ambiente de Desenvolvimento Delphi
- Terminologia
- Design vs Run time Formulários Propriedades
Métodos Componentes
14Ambiente 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
15Ambiente de Desenvolvimento Delphi
- Manipulando Componentes
- Inserindo/Excluindo
- Movendo (ctrlseta mov.cursor)
- Redimensionando (shiftseta mov.cursor)
16Ambiente de Desenvolvimento Delphi
- Units (Arquivos .pas)
- Forms (Arquivos .dfm)
- obs Convenção de nomes
17Básico da Linguagem Object Pascal
- Arquivo de Projeto
- program ltnome do programagt
- uses
- ltnome das unitsgt
- const
- ltnome da constantegtltvalor da constantegt
- type
- ltidentificador do tipogtltdefinição do tipogt
- var
- ltnome da variávelgt lttipo da variávelgt
- ltdefinição de procedures e functionsgt
- begin
- ltinstruçõesgt
- ...
- end.
18Básico da Linguagem Object Pascal
- Arquivo de Unit
- interface
- uses
- ltnome das unitsgt
- const
- ltnome da constantegtltvalor da constantegt
- type
- ltidentificador do tipogtltdefinição do tipogt
- var
- ltnome da variávelgt lttipo da variávelgt
- ltdeclaração de procedures e functionsgt
- implementation
- uses
- ltnome das unitsgt
- const
- ltnome da constantegtltvalor da constantegt
19Básico da Linguagem Object Pascal
20Básico da Linguagem Object Pascal
- Procedure
- procedure ltnomegt(ltnomeParamgt lttipoParamgt,
ltnomeParamgt lttipoParamgt) - const
- ltnome da constantegt ltvalor literalgt
- var
- ltnome da variávelgt lttipo da variávelgt
- begin
- ltinstruçõesgt
- ...
- end
- Function
- function ltnomegt(ltnomeParamgtlttipoParamgt,ltnomeParam
gtlttipoParamgt)lttipoRetornogt - const
- ltnome da constantegt ltvalor literalgt
- var
- ltnome da variávelgt lttipo da variávelgt
- begin
- ltinstruçõesgt
21Bá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)
22Bá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,IndiceInici
al,Quantidade) UpperCase(String)
LowerCase(String) Pos(String,SubString) S1 S2
ou concat(S1,S2) - Estrutura de Dados
- Array
- Type
- TintList array1..100 of integer
- Para utilizar o array declara-se uma variávelgt
var arList TintList
23Básico da Linguagem Object Pascal
- Estruturas de Controle
- Estruturas de Decisão
- if(condição) then...else
- caseltvariávelgt of
- valoresltinstruçãogt
- else
- ltinstruçãogt
- end
- Estruturas de Repetição
- while(condição) do
- repeat...until(condição)
- for ltvar controlegt ltvalor inicialgt to ltvalor
finalgt do - Break e Continue
24Básico da Linguagem Object Pascal
- Atribuição () versus Igualdade()
- Operadores Ariméticos
25Básico da Linguagem Object Pascal
26 27Básico da Linguagem Java
- Estrutura mínima de um Programa em Java
- class ltnomegt
- public static void main (ltparametrogt)
- ltdeclaraçõesgt
- ltcomandosgt
-
-
- 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
28Bá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 (...)
29Bá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 \ \ \\
30Bá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(IndiceInicia
l, IndiceFinal) - Concatenando Strings s1 s2 ou s1.concat(s2)
- Métodos diversos s1.toUpperCase()
s1.toLowerCase() s1.trim()
31Bá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)
32Bá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
33Básico da Linguagem Java
- Atribuição () versus Igualdade()
- Operadores Ariméticos
34Básico da Linguagem Java
35Passos 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 37Entrada e Saída de Dados
- Exibindo Mensagem para o Usuário
- Em Delphi
- Application.MessageBox(ltmensagemgt,lttítul
o gt,ltícone a ser exibidogt) - ExApplication.MessageBox(Registro
Encontrado.,Informação,MB_ICONINFORMATION) - Em Java
- JOptionPane.showMessageDialog(null,ltmensa
gemgt,lttítulo gt,ltícone a ser exibidogt) - Ex JOptionPane.showMessageDialog (null,Registro
Encontrado,Informação,JOptionPane.INFORMATION_M
ESSAGE) - obs Atentar para sensitividade do Java
Java
Delphi
38Entrada e Saída de Dados
- Recebendo Entrada de Dados
- Em Delphi
- inMsg InputBox(lttítulo da
janelagt,ltdado solicitadogt,ltconteúdo padãogt) - Ex inMsg InputBox(Entrada de
Dados,Digite Código,-1) - Em Java
- inMsg JOptionPane.showInputDialog(ltmensagemgt)
- Ex inMsg JOptionPane.showInputDialog(Digite
Código) - obs Atentar para sensitividade do Java