150 likes | 239 Views
Novas Funcionalidades p/ LOO 2. Cleyton Carvalho (cct) Dalton Jorge (dnj) Luciano Cabral (lsc4). Roteiro. Relembrando Arrays Funções Object Initializers BNF & Códigos Testes Dificuldades. Relembrando o que foi proposto. 1ª Parte: Arrays; 2ª Parte: Método retornando valor (Função);
E N D
Novas Funcionalidades p/ LOO 2 Cleyton Carvalho (cct)Dalton Jorge (dnj)Luciano Cabral (lsc4)
Roteiro • Relembrando • Arrays • Funções • Object Initializers • BNF & Códigos • Testes • Dificuldades
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,5} • String login[] = {“cct”,”dnj”,”lsc4”}; • Acesso aos dados: • Print(a[0] + [1]); • Print(login[2];
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 "proc" Tipo Id "("")" "{" Comando "return" Expressao "}“ • Modificador "proc" Tipo Id "(“ ListaDeclaracaoParametro ")" "{“ Comando "return“ Expressao "}” • Exemplo: public proc int AreaQuadrado(int lado) { Int resultado = 0; resultado = lado * lado return resultado }
ObjectInitializers • 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 "{" ListaAtribuicoes "}"
ObjectInitializers (cont.) • Exemplos • Sem Object Initializer: Cliente clienteTemp := new Cliente(); compraTemp.cpf := 1252 compraTemp.nome := "Cleyton“; • Com Object Initializer: Cliente clienteTemp := new Cliente{cpf := 1252, nome := "Cleyton"};
ObjectInitializers (cont.) • Exemplos • Sem Object Initializer: Cliente clienteTemp := new Cliente(1252, "Cleyton“); Compra compraTemp := new Compra(2,clienteTemp,22); • Com Object Initializer: Compra compraTemp := new Compra{numero := 2, cliente := new Cliente{cpf := 1252, nome := "Cleyton"}, valor := 22};
BNF & Códigos • Ver Site...
Testes • Ver Site
Novas Funcionalidades p/ LOO 2 • Dificuldades • Complexidade da LOO2. • 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; • Acesso de array composto;
Novas Funcionalidades p/ LOO 2 • Referências • [1] C# Version 3.0 Specification, http://download.microsoft.com/download/5/8/6/5868081c-68aa-40de-9a45-a3803d8134b8/csharp_3.0_specification.doc, visitada em Junho, 2007; • [2] Obasanjo, Dare. C# versus Java from a Java Programming Perspective, http://www.25hoursaday.com/CsharpVsJava.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 (lsc4)