Olá Pessoal, tudo bom?
O artigo de hoje será uma continuação do artigo iniciado a um mês atrás explicando sobre orientação a objeto através do Java. No artigo de hoje iremos começar a descrever sobre as características de uma classe Java. Confira na continuação:
Recapitulando…
No artigo anterior havíamos criado uma classe muito básica de nome Casa, o código desta está descrito abaixo:
1 2 3 |
public class Casa { //Características da casa aqui dentro } |
Agora é necessário começar a definir as características dessa casa, mas antes precisamos conversar um pouco sobre qual será a área de atuação do software pretendido.
Escopo e domínio
Para definir o nosso software, nós precisamos definir o escopo que este atua. Por exemplo, nós estamos codificando uma classe Casa, que deve representar a estrutura de uma casa. Mas para qual finalidade essa casa deverá ser codificada? Existem muitas nuances na definição disso. Confuso? Vamos exemplificar:
Suponha que estamos fazendo um software para a prefeitura de um município. Esse software precisa que todas as residências dos cidadãos sejam catalogadas, para ajudar na emissão dos impostos básicos (IPTU, coleta de lixo, etc.) e para criar um lugar central a fim de auxiliar em obras e melhorias. Quais são as características mais importantes para esse software?
Bom, podemos elencar as seguintes:
- Localização
- Possui saneamento básico?
- Possui esgoto?
- Material da rua? (Asfalto, antipó, pó, paralelepípedo)
- Dados dos moradores
- Comercio? Qual categoria?
Bom agora vamos pensar em um outro software. Suponha que esse software seja para uma empresa de arquitetura e engenharia civil. Nesse software há a necessidade de descrever o projeto de uma residência, ou seja, todos os itens relacionados a construção dessa residência. Quais são as características mais importantes para esse software?
- Dados do terreno (localização, metros quadrados, possui inclinação? composição do solo)
- Dados da área verde básica
- Dados do material para a fundação
- Quantidade de quartos?
- Quantidade de banheiros?
- Material bruto e revestimento das paredes
- Material dos pisos
- Nome do Cliente
Se houver uma comparação entre ambas as listas, percebe-se que muitos pontos são distintos, não havendo relação ou porque estar presente em outro software, senão aquele com as características necessárias. Assim é interessante destacar que cada software possui um escopo, uma necessidade. A junção de várias classes, com suas características, ajudam a formar o domínio de um projeto.
Acrescentando características
No nosso caso, podemos ver algumas coisa em comum entre ambas as descrições acima. Vamos adotar que o nosso software seja de uma imobiliária de imóveis. Assim ficaremos no meio termo entre os projetos descritos acima. Na imobiliária o software deverá possuir as seguintes características:
- Localização
- Quantidade de quartos?
- Quantidade de banheiros?
- Dados do proprietário atual
- Tipo do negócio (Venda, aluga, troca, etc…)
- Garagem para quantos veículos?
Agora com esses dados vamos criar as características na classe Casa:
1 2 3 4 5 6 7 8 |
public class Casa { private String localizacao; private int qtdQuartos; private int qtdBanheiros; private String dadosProprietarioAtual; private String tipoNegocio; private int qtdVeiculosGaragem; } |
Padrões de declaração
Perceba que há um padrão na declaração dos atributos. Uma declaração sempre é composta por 3 partes:
- Modificador de Acesso do atributo (private): Indica se esse atributo estará disponível para visualização de qualquer classe. No caso do private somente a própria classe consegue ter acesso a esse atributo.
- Tipo do atributo (String/int): Indica qual é o tipo desse atributo que está sendo criado. No caso do exemplo, utilizamos a String, que representa uma palavra ou frase e o int que é um tipo primitivo, o qual nesse caso armazena números inteiros positivos e negativos.
- Nome do atributo (localizacao, qtdQuartos, etc): Indica o nome do atributo. Esse preferivelmente não deve conter acentos e deve seguir o formato camelCase, primeira letra minuscula e letras iniciais de outras palavras maiúsculas.
Lembrando que todos os atributos foram criados com o modificador private. Dessa forma, não é possível que outras classes acessem esse atributo. E agora como proceder? Isso fica para um próximo artigo.
finally{
Com isso nós demos algumas características a nossa primeira classe. Ela continua ainda muito simples, possui algumas características, mas não realiza ainda nenhuma ação. Em um próximo artigo vamos descrever um pouco mais sobre os modificadores de acesso.
Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!
Até um próximo post!
Leave a Reply