Olá desenvolvedores! Hoje em ORIENTAÇÃO A OBJETOS: DEFININDO OBJETOS, daremos continuidade ao tema abordado em “ORIENTAÇÃO A OBJETOS: INTRODUÇÃO”. Que foi quando falamos da simplicidade de se criar uma classe, mas do grande desafio de caracterizá-la com as informações que ela irá armazenar.
Em Programação Orientada a Objetos (POO) estas características são chamadas de atributos.
Mas antes vamos recapitular. Falamos que classe é um modelo a partir do qual construímos objetos, e que estas classes são constituídas de métodos e atributos. Assim, temos que os atributos correspondem as características do objeto, é o elemento de uma classe responsável por definir a sua estrutura.
OBJETOS E SEUS ATRIBUTOS
A estrutura de uma classe pode ser definida a partir das características de um objeto. Assim podemos representar fielmente uma entidade do mundo real. Uma forma de pensar os atributos e auxiliar na identificação dos mesmos, é usando adjetivos e substantivos para representá-los.
O exemplo abaixo mostra um objeto do mundo real. Ao seu lado o mesmo objeto sendo representado em um sistema computacional por meio da orientação a objetos usando a linguagem Java. Os atributos deste objeto são armazenados dentro do escopo da classe, são eles: cor, nome, marca, valor, velocidade e importado.
Contudo, é muito importante que no momento de definir os atributos de uma classe você considere o contexto de sua utilização. Isso para que não seja atribuída a classe atributos que embora sejam uma característica do objeto, não agreguem valor. E claro, considerando o cenário de sua utilização no sistema que está sendo desenvolvido.
Ainda no contexto dos atributos, else armazenam valores que serão usados para caracterizar uma classe, como já informamos. E de fato, tal como acontece nas linguagens estruturadas, na orientação a objetos um atributo também possui um tipo.
Em Java os tipos compreendem boolean, byte, short, int, long, float, double, char e String. Recordando que String é um tipo de dado não primitivo usado para representar textos. Isto é, cadeias de caracteres.
A definição dos atributos segue a mesma regra de declaração de Java. Declara-se primeiramente seu tipo e depois seu nome, e este nome deve ser o mais representativo possível.
Evite nomes como vel, vlr ou data, escreva ‘”velocidade”, escreva “valor”. E quando o dado se referir a uma data, escreva um nome composto para ela. Por exemplo, atributos representativos de uma compra, uma venda ou aniversário, poderiam, para evitar a subjetividade ser dataCompra, dataAniversario.
O QUE UM OBJETO REALMENTE FAZ?
Se a finalidade dos atributos é armazenar os valores que serão usados para significar a classe. No que se refere ao objeto, seu principal objetivo é carregar as informações agrupadas, processá-las e exibi-las.
Tal processo acontece por traz da interface do usuário, até chegar onde as informações serão gravadas – no banco de dados. Os dados que são capturados do usuário são carregados para a camada interna do sistema, onde eles serão processados.
É na camada interna do sistema que as regras de negócio da aplicação são calculadas. É neste ponto que elas são processadas, onde há ou não um desvio no fluxo do processamento do sistema. Que é o resultado das tomadas de decisão que acontecem nesta camada. O que resultar deste processamento será gravado no banco de dados.
No entanto, depois de gravado os dados os mesmos podem fazer o caminho de volta. Isto significa que, os dados poderão ser reenviados para a camada interna do sistema. E assim, serão processados, e o resultado deste novo processamento será apresentado na tela para o usuário.
Este processo ratifica a premissa de que é a partir da interação entre os objetos que as ações de fato acontecem em um sistema.
E se por um lado os objetos são uma forma de agruparmos os atributos. Atributos estese que espelham as características do mesmo no mundo real. Além de cumprirem a função de caracterizar a classe. Como podemos representar o comportamento deste objeto no mundo real em um sistema de computador?
A representação do comportamento do objeto, se dá pela manipulação dos atributos. E o responsável por executar as operações que envolvem os atributos são os métodos.
MÉTODOS
Os métodos são uma sub-rotina disponibilizada pela classe e representam o comportamento do objeto. Eles são usados também para identificar quais ações a classe pode oferecer. Mas um método só é executado quando uma requisição a ele é feita.
E ainda, como estamos falando de ação, o nome de um método é, via de regra, formado por uma expressão composta. Assim segue a regra do “Camel Case”, e invariavelmente esta combinação inclui um verbo, como por exemplo:
“Double calcularValor()”, “int calcularVelocidade()” ou ainda Venda consultarProcedimentoVenda (Cartao cartão).
Um método pode ou não conter o que chamamos de parâmetros. Um parâmetro nada mais é do que informações auxiliares que podem ser passadas ao método para que este execute a ação que foi programado para executar.
E para finalizar, quando uma ação é executada, esperamos dela uma reação, um retorno de alguma natureza. Assim sendo, naturalmente um método deve possuir um retorno, que pode ser um dos tipos primitivos ou mesmo uma classe.
EM POUCAS PALAVRAS
Agora você sabe que uma classe é um modelo a partir do qual se constrói um objeto. E ainda, sabe que esta classe é caracterizada pelo uso de atributos. E que a definição destes obedece a um princípio que rege também a declaração de variáveis. Dessa forma, tem-se também os métodos que expressam o comportamento dos objetos no mundo real.
Novamente, não se assuste com a quantidade de informações que está recebendo e não se preocupe em decorar todas elas. Como já falamos, nada como a prática cotidiana para naturalizar processos, e nos permitir a familiaridade com algo. Em programação nada se decora, tudo é compreendido e com o tempo e prática assimilado.
Do que foi apresentado neste tutorial é importante que saiba, o que são classes e como os atributos e métodos se relacionam com elas. Mas calma, muito ainda está por vir. Assim sendo, aprendemos como definir atributos e tal conhecimento deve estar no escopo da sua aprendizagem de hoje.
E se você quer aprender o caminho para dominar a orientação a objetos, vale a pena conferir este vídeo.