Toda cidade do Velho Oeste possui alguns ingredientes principais: estábulos, salões, xerifes, e alguns causadores de problemas. Uma cidade padrão teria três estábulos e estaria localizada ao oeste do Mississippi, em torno de 1850. |
Esta descrição de uma cidade do Velho Oeste, mesmo não sendo tão profunda, fez duas coisas importantes: 1) estabeleceu os ingredientes principais de uma cidade do Velho Oeste e 2) deu diversos valores que podem ocorrer em uma cidade do Velho Oeste padrão. (Qualquer valor acima de três estábulos fará o lugar começar a feder).
|
Parece que Eunice tem uma maneira estranha de escrever, mas para ela o processo é direto e progressivo. A primeira linha da folha diz que Eunice está definindo uma Cidade do Velho Oeste. Você pode ter notado que quando Eunice precisa escrever duas palavras, ela não utiliza nenhum espaço. Existe uma razão para isso. Se ela acrescentar um espaço, seu editor em Nova York, muito rigoroso em detalhes, ficará confuso.
O próximo passo, logicamente, é declarar os tipos de variáveis (aquelas coisas que definem como a cidade se parecerá) que a classe da Cidade do Velho Oeste poderá ter. Xerifes, estábulos, causadores de problemas, etc. Tendo dito isso, tudo o que faltava era construir uma cidade de exemplo, com valores padrões para suas variáveis. Whew!"
public class CidadeOeste { int estábulos; int salões; int xerifes; int causadoresdeproblemas; String localizacao; int tempo; public CidadeOeste() { estbulos = 3; localizacao = "Oeste dos Estados Unidos"; tempo = 1850; } } |
Ao criar sua cidade do Velho Oeste, Eunice está definindo a classe, não a cidade em si (a cidade seria objeto). Uma classe é como uma (realmente misturando metáforas aqui) receita sem nenhuma medida. Ela diz quais elementos deveriam estar na cidade do Velho Oeste, mas não diz qual a quantidade dos mesmos.
Este é o processo de declarar como as variáveis serão chamadas, e que tipo de valores elas irão conter. Por agora, apenas se preocupe sobre "int"s e "String"s. "int" significa inteiro (integer), e "String" é para cadeia (string) de caracteres.
O ponto e vírgula é uma forma de Eunice avisar seu editor que ela terminou sua declaração (sentença) e que ele pode seguir para a próxima. Você pode pensar no ponto e vírgula (;) como um ponto final (.) em uma frase comum.
Finalmente, você perceberá que sempre que Eunice quer agrupar um conjunto de declarações, ela usa chaves, "{". Mesmo que Eunice conheça seus personagens muito bem, utilizar as chaves permite que seu editor veja onde um grupo de declarações começa e termina. Qualquer classe sempre terminará com todas as chaves abertas sendo fechadas.
Se Eunice criar (instanciar) uma cidade objeto em seu livro, seu editor irá procurar pela classe CidadeOeste para determinar como esta cidade do Velho Oeste deve parecer (Eunice enviará o fichário junto com seu manuscrito). Mas onde o editor encontrará o número de estábulos e outras variáveis? É aí que vemos o conceito do constructor.
O constructor vem depois que todas as variáveis foram declaradas. Ele começa com public CidadeOeste(). As declarações que seguem são valores padrões (default) para suas variáveis; como o objeto cidade de Eunice pareceria se ela simplesmente o instanciasse em sua trama sem especificar nenhum de seus valores.