Novas Funcionalidades p LOO 2 Cleyton Carvalho cct

  • Slides: 15
Download presentation
Novas Funcionalidades p/ LOO 2 Cleyton Carvalho (cct) Dalton Jorge (dnj) Luciano Cabral (lsc

Novas Funcionalidades p/ LOO 2 Cleyton Carvalho (cct) Dalton Jorge (dnj) Luciano Cabral (lsc 4)

Roteiro • • Relembrando Arrays Funções Object Initializers BNF & Códigos Testes Dificuldades

Roteiro • • Relembrando Arrays Funções Object Initializers BNF & Códigos Testes Dificuldades

Relembrando o que foi proposto. . . • 1ª Parte: – Arrays; • 2ª

Relembrando o que foi proposto. . . • 1ª Parte: – Arrays; • 2ª Parte: – Método retornando valor (Função); – Object Initializers.

Relembrando Arrays. . . • Declaração: – Int a[] = {1, 2, 3, 4,

Relembrando Arrays. . . • Declaração: – Int a[] = {1, 2, 3, 4, 5} – String login[] = {“cct”, ”dnj”, ”lsc 4”}; • Acesso aos dados: – Print(a[0] + [1]); – Print(login[2];

Métodos • Motivação – Apenas procedimentos? !!! • Proposta – Implementar Funções (métodos retornando

Métodos • Motivação – Apenas procedimentos? !!! • Proposta – Implementar Funções (métodos retornando valores) • Procedimento continua a existir. . .

Métodos (sintaxe e exemplo) • Sintaxe: – Modificador "{" Comando – Modificador "{“ Comando

Métodos (sintaxe e exemplo) • Sintaxe: – Modificador "{" Comando – Modificador "{“ Comando "proc" Tipo Id "("")" "return" Expressao "}“ "proc" Tipo Id "(“ Lista. Declaracao. Parametro ")" "return“ Expressao "}” • Exemplo: public proc int Area. Quadrado(int lado) { Int resultado = 0; resultado = lado * lado return resultado }

Object Initializers • Objetivo: – Instanciar uma classe e inicializar propriedades em uma única

Object Initializers • Objetivo: – Instanciar uma classe e inicializar propriedades em uma única instrução. • Conseqüências: – Menos instruções – Facilidade de entendimento – Evita sobrecarga de construtores • Faz parte da especificação do C# 3. 0 • Sintaxe – Tipo Id ": =" "new" Id "{" Lista. Atribuicoes "}"

Object Initializers (cont. ) • Exemplos – Sem Object Initializer: Cliente cliente. Temp :

Object Initializers (cont. ) • Exemplos – Sem Object Initializer: Cliente cliente. Temp : = new Cliente(); compra. Temp. cpf : = 1252 compra. Temp. nome : = "Cleyton“; – Com Object Initializer: Cliente cliente. Temp : = new Cliente{cpf : = 1252, nome : = "Cleyton"};

Object Initializers (cont. ) • Exemplos – Sem Object Initializer: Cliente cliente. Temp :

Object Initializers (cont. ) • Exemplos – Sem Object Initializer: Cliente cliente. Temp : = new Cliente(1252, "Cleyton“); Compra compra. Temp : = new Compra(2, cliente. Temp, 22); – Com Object Initializer: Compra compra. Temp : = new Compra{numero : = 2, cliente : = new Cliente{cpf : = 1252, nome : = "Cleyton"}, valor : = 22};

BNF & Códigos • Ver Site. . .

BNF & Códigos • Ver Site. . .

Testes • Ver Site

Testes • Ver Site

Novas Funcionalidades p/ LOO 2 • Dificuldades – Complexidade da LOO 2. – Método

Novas Funcionalidades p/ LOO 2 • Dificuldades – Complexidade da LOO 2. – Método retornando valor (função) com uma dificuldade inesperada. – Object Initializer: atribuição com “new”.

Novas Funcionalidades p/ LOO 2 • Trabalhos futuros – Chamada de função em encadeada;

Novas Funcionalidades p/ LOO 2 • Trabalhos futuros – Chamada de função em encadeada; – Acesso de array composto;

Novas Funcionalidades p/ LOO 2 • Referências – [1] C# Version 3. 0 Specification,

Novas Funcionalidades p/ LOO 2 • Referências – [1] C# Version 3. 0 Specification, http: //download. microsoft. com/download/5/8/6/5868081 c-68 aa-40 de 9 a 45 -a 3803 d 8134 b 8/csharp_3. 0_specification. doc, visitada em Junho, 2007; – [2] Obasanjo, Dare. C# versus Java from a Java Programming Perspective, http: //www. 25 hoursaday. com/Csharp. Vs. Java. html , visitada em Maio, 2007; – [3] Delamaro, Márcio Eduardo. Como Construir um Compilador Utilizando Ferramentas Java. Editora Novatec, 2004; – [4] Watt, David and Findlay, W. Programming Language Design Concepts, John Wiley & Sons.

Novas Funcionalidades p/ LOO 2 Cleyton Carvalho (cct) Dalton Jorge (dnj) Luciano Cabral (lsc

Novas Funcionalidades p/ LOO 2 Cleyton Carvalho (cct) Dalton Jorge (dnj) Luciano Cabral (lsc 4)