Hard Coded
Os projetos anteriores HelloWorld e ShowMessage faziam a mesma coisa, imprimiam a frase “Hello World!” na tela. Basicamente imprimiam a mensagem utilizando o println() ou uma variável que tinha a frase.
Não importa a maneira o valor da String é imutável. Isso é chamado de hard coded, que significa que a String não pode ser modificada enquanto o programa estiver sendo executado. Esse tipo de funcionalidade é útil para saídas fixas.
Para permitir um programa mudar a saída, nós precisamos permitir que o programa inicialize entrada com valores diferentes. O propósito do construtor da classe é inicializar valores dos atributos definidos na classe; contudo, uma abordagem para resolver o “hard coded” é por exemplo, modificar o construtor “public Message()” definido na classe Message.java.
1 2 3 4 5 6 7 8 9 10 |
public class Message{ private String mensagem; public Message(String inStr){ mensagem = inStr; } public void imprimirMensagem(){ System.out.println(mensagem); } } |
E depois, quando invocar o operador “new”, nós podemos passar uma nova mensagem para inicializar a variável “mensagem”, por exemplo:
new Message(“Hello, Java!”);
Essa assinatura chama o construtor que passa a ele uma variável que está entre parênteses com o nome de inStr, essa variável é chamada de parâmetro do método, que será guardado em um “pedaço” da memória.
Um método geralmente faz uma computação ou uma ação que pode precisar de uma entrada de dados. O parâmetro abre caminho para passar dados para outro método. O parâmetro como variável tem o seu próprio tipo.
Envio de Parâmetros
Quando o método é invocado, o parâmetro aceita uma entrada de dados que é chamada de “parâmetro atual”. O parâmetro carrega o valor atual para dentro do método e junta a computação ou a ação definida pelo corpo do método. No exemplo, o parâmetro é o “inStr” que tem o valor “Hello, Java!” e passa esse valor para a variável “mensagem”, e depois o valor é imprimido na tela.
Claramente, para definir um parâmetro para o construtor “Message(String inStr)”, o conteúdo para a variável mensagem deve ser uma String. Parece que assim o “hard-coded” foi resolvido.
Infelizmente, a atribuição “new Message(“Hello, Java!”);”, é ainda predefinido dentro do código. Apenas um programador pode mudar o valor do parâmetro quando é enviado para o Message(“nova frase”);.
Isso significa que depois compilado não tem como mudar o valor da mensagem. A única maneira de resolver esse “hard-coded” é permitir que o usuário possa entrar com dados durante a execução do programa.
Fonte: Learning Java with Games
Deixe um comentário