·

Ciência da Computação ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Modularização na Linguagem Java Parte II Prof Me Rober Marcone Rosi Unidade de Engenharia e Computação FAESA LogoType Parâmetros Os métodos denominados funções ou procedimentos nas linguagens de programação estruturada são trechos de códigos que realizam alguma tarefa específica e podem como resultado retornar um valor Parâmetros são canais pelos quais se estabelece uma comunicação entre um método e o seu módulo chamador o método main ou outro método Dados são passados pelo módulo chamador ao método chamado por meio de parâmetros Cap 7 2 Parâmetros Tecnicamente os parâmetros são classificados como parâmetros formais e parâmetros reais Os parâmetros formais são os nomes simbólicos introduzidos nos cabeçalhos dos métodos Já os parâmetros reais ou parâmetros efetivos ou ainda argumentos são aqueles que se associam aos parâmetros formais quando da chamada ou invocação de um método Em síntese os argumentos são variáveis especificadas entre parênteses na chamada de um método e os parâmetros são variáveis declaradas no cabeçalho do método para indicar os valores que o método deve receber quando for chamado Cap 7 3 Passagem de Parâmetros Passagem de parâmetros por valor na passagem de parâmetros por valor o valor do parâmetro real é copiado para o parâmetro formal do módulo preservando assim o valor original do parâmetro Ex Tipos primitivos Passagem de parâmetros por referência na passagem de parâmetros por referência toda alteração feita nos parâmetros formais refletese nos parâmetros reais assim o parâmetro é de entrada e saída Ex Tipos construídos Cap 7 4 Exemplos Passagem por Valor 1 public class Exercicio 2 public static void mainString args 3 int num1 10 num2 30 4 troca num1 num2 5 SystemoutprintlnPROGRAMA PRINCIPAL PASSAGEM POR VALOR num1 num1 num2 num2 6 Systemexit0 7 Exemplos Passagem por Valor 8 static void troca int n1 int n2 9 int temp 10 SystemoutprintlnDENTRO DO MÉTODO ANTES DA TR OCA n1 n1 n2 n2 11 temp n1 12 n1 n2 13 n2 temp 14 SystemoutprintlnDENTRO DO MÉTODO DEPOIS DA T ROCA n1 n1 n2 n2 15 Exemplos Testando o exemplo anterior Linha num1 num2 n1 n2 3 10 30 Não existe Não existe 4 10 30 Não existe Não existe 8 10 30 10 30 14 10 30 30 10 5 10 30 Não existe Não existe Exemplos Passagem por referência 1 public class PassagemDeObjetos 2 public static void mainString args 3 int vetor 1030 4 troca vetor 5 SystemoutprintlnPASSAGEM POR REFERÊNCIA DE UM VETOR num1 vetor0 6 num2 vetor1 7 Systemexit0 8 Exemplos Passagem por referência 9 static void troca int vet 10 int temp 11 SystemoutprintlnDENTRO DA MÉTODO ANTES DA TROCA nnum1 12 vet0 num2 vet1 13 temp vet0 14 vet0 vet1 15 vet1 temp 16 SystemoutprintlnDENTRO DA MÉTODO DEPOIS DA TROCA nnum1 17 vet0 num2 vet1 18 Exemplos Testando o exemplo anterior Linha vetor0 vetor1 vet0 vet1 3 10 30 Não existe Não existe 4 10 30 Não existe Não existe 11 10 30 10 30 16 30 10 30 10 5 30 10 Não existe Não existe Escopo de variáveis Especifica a visibilidade da variável Uma variável pode ser global ou local As variáveis globais são declaradas no algoritmo principal e podem ser utilizadas por todos os algoritmos hierarquicamente inferiores As variáveis locais podem ser utilizadas pelo algoritmo em que fora m declaradas e nos algoritmos hierarquicamente inferiores A definição adequada das variáveis pode economizar memória e tornar os programas mais eficientes Escopo de variáveis as variáveis V1 e V2 foram declaradas n o módulo principal e podem ser utilizada s por todos os módulos dos algoritmos a variável V3 foi declarada no algoritmo A e pode ser utilizada pelos algoritmos D E e F que são hierarquicamente infer iores a ele as variáveis V4 V5 V6 e V8 podem ser utilizadas somente pelos algoritmos B C D e F respectivamente pois não pos suem algoritmos hierarquicamente inferi ores a variável V7 pode ser utilizada pelos al goritmos E e F Escopo de variáveis Algoritmo Principal Var V1V2 real Resp lógica Algoritmo B Var V4 real Algoritmo C Var V5 real Algoritmo A Var V3 real Algoritmo D Var V6 rea l Algoritmo E Var V7 real Algoritmo F Var V8 real Escopo de variáveis Exemplo class NomeDaClasse a variável abaixo é global TipoDaVariahvel variahvel1 TipoDeRetorno nomeDoMehtodo a variável abaixo é local está definida somente dentro deste método TipoDaVariahvel variahvel2 for int i 0 i 10 i a variável i é local definida só dentro deste bloco Procedimento Exemplo static void calcularAdicao double v1 double v2 double res res v1 v2 Systemoutprintln Soma res Função static double calcularAdicao double v1 double v2 return v1 v2 Exemplo Procedimento em Java modificador void nome argumentos tipo nomedavariável comandos Onde modificador caracteriza o método quanto à visibilidade e qualidade Os métodos como as classes e as variá veis podem possuir mais de um modificador não importando sua ordem void significa que como procedimento o método não irá retornar nada nome Deve obedecer às mesmas regras que os identificadores de variáveis Observe que em uma classe p ode haver mais de um método com o mesmo nome bastando que os tipos a ordem ou o número de parâm etros sejam diferentes argumentos indica a lista de argumentos que serão passados como parâmetros para o método Eles devem obedecer a seguinte sintaxe tipo par1 tipo par2 tipo parN Modificadores public Indica um método que é visível para qualquer um que en xergue a classe protected Indica um método que é visível apenas para classes do mesmo pacote ou subclasses private Indica que o método só pode ser invocado dentro da pró pria classe final Indica que o método não pode ser sobrescrito static Indica que o método pode ser invocado a partir do nome da classe ou seja não necessita de objeto Perguntas Obrigado