A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagens de Programação Orientadas a Objetos

Apresentações semelhantes


Apresentação em tema: "Linguagens de Programação Orientadas a Objetos"— Transcrição da apresentação:

1 Linguagens de Programação Orientadas a Objetos
Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Colaboração: Prof. Ricardo Santos Aula 07 - Manipulação de Arrays  Marco Fagundes

2 Roteiro Revisão dos Objetos e Meta do Módulo de Fundamentos
Revisão do Básico de Java e Delphi Estrutura de Programas Tratamento de Operações Declaração de Variáveis Tipos de Dados e Estruturas de Controle Declarando e Construindo Arrays

3 Módulo de Fundamentos Módulo de Fundamentos
Objetivo: Apresentar conceitos básicos e avançados da orientação a objetos, os ambientes Java e Delphi e sua utilização no desenvolvimento de GUIs Meta: Desenvolver uma aplicação (Java ou Delphi) com uma GUI oferecendo as operações básicas de cadastro (incluir, excluir, alterar e consultar) utilizando uma estrutura de dados para armazenar objetos

4 Módulo de Fundamentos Conteúdo Conceitos da Orientação a Objetos
O que foi visto?? Conteúdo Conceitos da Orientação a Objetos Ambiente JDK e Delphi Construção de GUI em Java e Delphi Programação Orientada a Eventos Estrutura de Dados (Array) e Tipo String Classe, Objeto, Atributos e Métodos Compartilhamento de Recursos (Dados e Operações) entre Classes Recursos Avançados de GUI e Criação de Objetos

5 Módulo de Fundamentos Duração: 13 Aulas Início: 01/04/2003
Término: 29/04/2003 Datas Importantes Entrega do 1º Exercício: 23/04/2003 Exame Escrito:29/04/2003 Entrega da 1ª Etapa do Projeto Final: 06/05/2003

6 Destaques da Aula 1 Qualidade de Software
Atributos de qualidade: Corretude, Eficiência, Manutenibilidade Portabilidade, Reusabilidade, Robustez, Extensibilidade, Integridade e Usabilidade Os fatores extensibilidade e reusabilidade estão diretamente relacionados à manutenção de sistemas. Estima-se que 70% do custo de software corresponde à manutenção Paradigmas de Programação Imperativo Orientado a Objetos Funcional Lógico Linguagens OO: Formalmente, para ser considerada uma linguagem OO, esta precisa implementar quatro conceitos importantes: abstração, encapsulamento, herança e polimorfismo

7 Destaques da Aula 2 - Estrutura de Programas
Java Unit Delphi interface uses | const | type | var implementation initialization <instruções>; finalization end. class <nome> { <declarações>; public static void main (<parametro>) { <instruções>; }//fim main }// fim class Somente se a classe for executável

8 Destaques da Aula 2 - Operações
Java Unit Delphi interface uses | const | type | var public procedure <nome>(<param>); function <nome>(<param>): tipo; implementation <definição_procedure>; <definição_function>; ...(initialization, Finalization) end. class <nome> { <declarações>; Tipo_Retorno Nome_Método (<param>) { <instruções>; }// fim Nome_Método ...(main - caso deseje execução) }// fim class Se o Tipo_Retorno for void então o método é similar a um procedimento. Caso contrário o método se parece com uma função, necessitando do valor de retorno. Assim uma instrução obrigatória é: return <resultado>; Shift+ Ctrl + C constroi o corpo do procedimento/função.

9 Destaques da Aula 2 - Operações
Java Unit Delphi interface uses | const | type | var public ...; implementation procedure <nome_classe>.<nome>(<param>); var ... begin <instruções>; end; function <nome_classe>.<nome>(<param>): tipo; result:= <resultado>; ... end. Variáveis de Instância class <nome> { <declarações>; Tipo_Retorno Nome_Método (<param>) { <instruções>; }// fim Nome_Método ...(main - caso deseje execução) }// fim class Variáveis Globais Variáveis de Locais Variáveis Locais

10 Destaques da Aula 2 - Exemplo de Operações
Java Unit Delphi interface uses | const | type | var implementation procedure <nome_classe>.exibeMsg; begin showMessage(‘Exemplo Msg’); end; function <nome-classe> somarVal(v1,v2:integer):integer; result:=v1+v2; ...(initialization, Finalization) end. class <nome> { <declarações>; void exibeMsg ( ) { System.out.println (‘Exemplo Msg’); }// fim int somarVal (int v1, int v2); return v1 + v2; ...(main - caso deseje execução) }// fim class

11 Destaque da Aula 2 - Testando Operações em Java
Compilando class Teste { void exibeMsg (String pMsg ) { System.out.println (pMsg); } int somarVal (int v1, int v2) return v1 + v2; }/ public static void main(String[ ] args) Teste t = new Teste(); t.exibeMsg(‘Exemplo Msg’); System.out.println (t.somarVal(50,70)); } //fim main }// fim class Executando Resultado Crie um diretório para aplicação Salve a aplicação para o diretório criado

12 Destaques da Aula 2 - Testando Operações em Delphi
Crie um novo projeto no Delphi Adicione um TButton ao Form Altere as propriedades Name e Caption do Botão Crie um diretório para a aplicação Salve o projeto/units para o diretório criado

13 Destaques da Aula 2 - Testando Operações em Delphi
Definindo Procedures/Functions interface ... public procedure exibeMsg (pMsg:String); function somarVal (v1,v2: integer): integer; implementation procedure TForm1.exibeMsg(pMsg:String); begin showMessage(‘Exemplo Msg’); end; function TForm1.somarVal(v1,v2:integer): integer; result:=v1+v2; end.

14 Destaques da Aula 2 - Testando Operações em Delphi
Programando o Manipulador de eventos do Botão Dar um duplo clique em cima do componente Botão ... procedure TForm1.btnTesteMsgClick(Sender: TObject); begin exibeMsg(‘Exemplo Msg’); showMessage(intToStr(somarVal(1,2))); end; end. Resultado da Execução

15 Destaques da Aula 2 - Declaração de Variáveis
Variáveis Java Variáveis Delphi interface uses | const | type | var implementation uses | const | type var <Nome_Variável>:<Tipo_Variável>; ... end. class <nome> { <Tipo_Variável> <Nome_Variável>; Tipo_Ret Nome_Método (<param>) { <instruções>; } }// fim class Exemplo Java class <nome> { String codTurma; public static void main (<parametro>) { int contador; <instruções>; }//fim main }// fim class Exemplo Delphi interface uses | const | type | var implementation uses | const | type var contador: integer; ... end. Variável de Instância Variável Local Variável Global

16 Destaques da Aula 2 - Tipos de Dados
Tipos Primitivos Java Numéricos (Integer,Longint,Byte, Real, Double) Boolean (true e false) Char(‘.’) e String (‘...’) Operações: Length(String) Estrutura de Dados (Array) Type (declarando tipo) TintList = array[1..100] of integer; Var (declarando variável) arList: TintList; Tipos Primitivos Delphi Numéricos (byte, short, int, long, double e float) obs: Não confundir com as Classes Integer, Double, Long ... boolean (true e false) Char (‘ ...’ ) Caracteres sem representação visual Ex: \n \t \’ \” \\ Estrutura de Dados (Array) int a[ ]; (declarando) a = new int[10]; (definindo)

17 Destaques da Aula 2 - Estruturas de Controle
Estruturas de Decisão Java Estruturas de Decisão Delphi if (condição) then <instrução> else <instrução>; Exemplo: if (i=5) then showMessage(“i = 5”); if (s = ‘Teste’) begin i=3; a=“OK”; end i=0; if(condição) <instrução>; else --->opcional Exemplo: if (i==5) System.out.println(“i = 5”); if (s.equals(“Teste”)) { i=3; a=“OK”; } else i=0; Diferente do Java, o “;” fecha o comando if Instrução Composta ou em Bloco Instrução Composta ou em Bloco

18 Destaques da Aula 2 - Estruturas de Controle
Estruturas de Decisão Java Estruturas de Decisão Delphi case<variável> of valores:<instrução>; else <instrução>; end; Exemplo: case (i) of case 0: showMessage(“zero”); case 1: showMessage(“um”); showMessage(“padrão”); switch(variável)...case(valor) Exemplo: switch(i) { case 0: System.out.println(“zero”); break; case 1: System.out.println(“um”); default:System.out.println(“pad”); }

19 Destaques da Aula 2 - Estruturas de Controle
Estruturas de Repetição Estruturas de Decisão Delphi while (condição) do <instrução> Exemplo: i=0; s=10; while (i<10) do begin s = s + i; i++; end; showMessage(IntToStr (i+s)); while (condição) <instrução>; Exemplo: int i=0, s=10; while (i<10) { s = s + i; i++; } System.out.println(i+s); Instrução Composta ou em Bloco Instrução Composta ou em Bloco

20 Arrays Arrays são objetos que armazenam variáveis do mesmo tipo. Pode armazenar tanto variáveis de tipos primitivos quanto referências a objetos. Os arrays são sempre tratados como objetos, mesmo que eles sejam utilizados para armazenar tipos primitivos.

21 Arrays Todos os arrays Java são tecnicamente unimensionais. Arrays bidimensionais são implementados como arrays de arrays. A declaração de um array não cria um objeto array ou aloca espaço em memória. Na verdade, ela cria uma variável de referência a um array.

22 Existem diversas formas de declaração:
Declarando Arrays Existem diversas formas de declaração: String[][]s; String []s[]; String[][] [] s; String [ ] [ ]s; String[] s[][]; String[ ] s[][ ]; String s[][]; String s [][][]; String[][] s [ ]; String[]s; String []s; String [] s; String [ ] s; String[] s; String[ ] s; String s[]; String s []; String s [ ];

23 Existem diversas formas de declaração:
Declarando Arrays Existem diversas formas de declaração: String[]s; String []s; String [] s; String [ ] s; // extra white space ignored String[] s; String[ ] s; // extra white space ignored String s[]; String s []; String s [ ]; // extra white space ignored String[] s[]; String[][]s; String s [] [ ]; // extra white space ignored

24 Todos os arrays são zero-based.
Construindo Arrays Não inclua o tamanho do array nas declarações: int[5] testArray; // Errado! Todos os arrays são zero-based. Arrays devem ser indexados por valores inteiros. Ao acessarmos um array com um índice menor que 0 ou maior que o comprimento do array gera uma exceção ArrayIndexOutOfBoundsException em tempo de execução.

25 Construindo Arrays Uma vez que os arrays são Objetos, eles podem ser inicializados com a palavra reservada new. Os arrays são automaticamente inicializados com o valor padrão do tipo em questão. String[] s = new String[100]; boolean[] b = new boolean[4]; int[] i = new int[10][10];

26 Construindo Arrays int[] testScores; testScores = new int[4];

27 Construindo Arrays Em Java, os arrays são alocados em tempo de execução, de forma que podemos utilizar o seguinte código: int arrSize = 100; String[] myArray = new String[arrSize];

28 Construindo Arrays No caso de “Arrays de Objetos”, o que temos na verdade é um array de Referências a Objetos.

29 Inicializando Arrays Inicializando com chaves. String[] oneDimArray = { "abc","def","xyz" }; int[] arr = new int[] {1,2,3}; int[][] twoDimArray = { {1,2,3}, {4,5,6}, {7,8,9} }; int[][] myArray = new int[5][]; Inicializando por elemento. int[] arr = new int[2]; arr[0] = 2; arr[1] = 1;

30 Inicializando Arrays Inicializando por elemento. int[][] scores = new int[3][]; scores[0] = new int[4]; scores[1] = new int[6]; scores[2] = new int[1];

31 Inicializando Arrays Inicializando com loop. int [] myArray = new int[3] for(int i=0; i<(myArray.length); i++){ myArray[i] = i; }

32 Inicializando Arrays No caso de Arrays Dimensionais temos:
int [][] myArray = new int[3][]; myArray[0] = new int[2]; myArray[0][0] = 6; myArray[0][1] = 7; myArray[1] = new int[3]; myArray[1][0] = 9; myArray[1][1] = 8; myArray[1][2] = 5;.


Carregar ppt "Linguagens de Programação Orientadas a Objetos"

Apresentações semelhantes


Anúncios Google