Projeto ShowMessage
Agora que sabemos que um programa consiste em classes. Uma classe contém um grupo de atributos e um grupo de métodos.
O grupo de atributos é um grupo de variáveis declaradas dentro da classe. O grupo de atributos guarda um grupo de valores. Quando nós instanciamos uma instância da classe, o construtor da classe inicializa o grupo de atributos definido na classe.
Diferentes instâncias têm diferente grupos de valores atribuídos para configurar atributos de uma instância que podem ser identificado e distinguir dos outros.
Isto é, diferentes instâncias tem o mesmo grupo de atributos, mas com diferentes valores. Contudo, todas as instâncias têm o mesmo comportamento desde que os métodos da classe são os mesmos.
Para entender melhor vamos pegar um exemplo com estudantes. Para representar cinco estudantes “reais””, nós construímos uma classe com o nome Estudante.java, o qual possui um atributo “nome” e um método estudarJava().
Quando instanciamos uma instância estudante1 da classe Estudante.java e atribuímos no atributo nome o valor de “Kim”, nós representamos o estudante “real” o Kim. Então podemos instanciar outra instância estudante2 com o nome de “Michel” para representar outro estudante “real” o Michel.
Temos dois objetos com valores diferentes no atributo “nome” que distingue um do outro e eles representam dois estudantes “reais” no mundo real. Ao mesmo tempo, ambos tem o mesmo comportamento o método estudarJava().
Vamos fazer um projeto com o nome ShowMessage com o seguinte código:
1 2 3 4 5 |
public class ShowMessage{ public static void main(String[] args){ new Message().imprimirMensagem(); } } |
Crie uma outra classe com o nome Message com o seguinte código:
1 2 3 4 5 6 7 8 9 |
public class Message{ private String mensagem; public Message(){ mensagem = "Hello World!"; } public void imprimirMensagem(){ System.out.println(mensagem); } } |
O projeto HelloWorld faz a mesma coisa que o projeto ShowMessage. Só que no HelloWorld fazíamos tudo em apenas uma classe, no ShowMessage temos duas classes.
User-Defined
A razão de utilizar duas classes é a reutilização de classes, porque se eu criar outro projeto que precise imprimir uma mensagem, eu já terei a classe Message pronta e não precisarei criar novamente.
Agora que entendemos o que o sistema faz, podemos escrever os passos na nossa linguagem.
- Cria duas classes ShowMessage.java e Message.java. A classe ShowMessage.java instância um objeto da classe Message.java. O construtor da classe Message.java inicializa a variável “mensagem” como uma String.
- A classe ShowMessage invoca o método imprimirMensagem() para mostrar na tela a mensagem.
Isso é chamado pseudo código, que é o “o que” vamos fazer para chegar onde queremos. E está escrito no nosso idioma. E então, podemos seguir o pseudo código para mapear a ideia dentro de pedaços de código, o pseudo código também é chamado de “algoritmo”.
O projeto ShowMessage podemos notar duas etapas. A primeira etapa é chamada de modelagem: nós modelamos um pseudo código utilizando o nosso idioma para definir “o que” devemos fazer.
O pseudo código pode ser discutido por um time, e então o pseudo código é refinado para um “perfeito” pseudo código. Então, o “perfeito” pseudo código é mapeado na linguagem Java e esta é a segunda etapa a qual é chamada de implementação. Esta técnica é a abordagem chamada “top-down”.
Para projetos mais complicados, nós temos que ter em mente a finalidade muito clara do que “deve ser feito” antes de ir para a etapa de implementação.
No projeto ShowMessage definimos uma classe chamada Message, essa classe é chamada de “user-defined”, que é simplesmente uma classe Java onde o programador configura como quiser.
Toda Classe é um Módulo
Toda classe é um módulo que simula um objeto no mundo real, o que se faz com a linguagem orientada a objetos, por meio de código que simula o comportamento da vida real desse objeto.
Um dos objetivos da programação é modelar e implementar módulos reutilizáveis que são fáceis de utilizar e dar manutenção. A linguagem Java sempre atualiza as suas bibliotecas para esse objetivo e com isso ajuda os programadores a terem menos problemas.
As classes das API Java fornecem muitas classes e componentes reutilizáveis. Essas classes na API são chamadas de “built-in”, que significa classes embutidas.
Por exemplo, a classe String é uma classe built-in. Qualquer programa pode utilizar a classe String para o seu propósito. Essa classe tem várias funções comuns que todo programador precisa e sendo assim o programador não precisa “reinventar a roda”.
Fonte: Learning Java with Games
Deixe um comentário