Olá desenvolvedores, espero que até aqui todos os principais conceitos vistos até o momento estejam claros para vocês. Classes, atributos, métodos, ORIENTAÇÃO A OBJETOS PARADIGMA DA PROGRAMAÇÃO orientada a objetos. Mas falta algo, afinal de contas, o que exatamente são os objetos?

Sabemos que tudo tem início com a definição de classes, modelo a partir do qual criamos os objetos. Assim, temos que objetos são a instanciação de uma classe. Desenvolver uma aplicação em uma linguagem orientada a objetos, é necessariamente pensar em qual objeto (do mundo real) representaremos.

Objetos e classes são conceitos contíguos. Neste contexto, a respeito de ambos podemos dizer que são a representação de um conceito ou de uma entidade física do mundo real. Ok, eu sei que já disse isso repetidas vezes, e espero que tenha gravado ou precisarei repetir mais algumas. Entretanto, não há como fugir de mencionar tais definições.

Na prática, uma vez decidido o objeto de nossa representação, qual seria o próximo passo lógico? Será definir a classe a partir da qual os objetos serão instanciados (criados).

CLASSE CARRO()

Determinou-se então que o objeto a ser representado será um “carro”. Na sequência, o próximo passo é pensar na classe que servirá de base para a construção do objeto carro. Isto é, para que os objetos sejam instanciados a partir deste modelo.

Criamos assim a classe que representa o objeto Carro, uma instância do mundo real. Cada objeto criado partindo deste modelo, ou seja, desta classe, representará um carro e terá seus próprios atributos e/ou seus próprios métodos. Vamos tentar melhorar este conceito, que ainda parece subjetivo.

Decidimos criar uma aplicação para uma locadora de carros, logo, um dos objetos a ser representado. Isto é, neste caso a entidade física, é o “carro”, criamos então a “class Carro()”. A partir desta classe criaremos os objetos Carro de Passeio e Carro Utilitário. E cada um terá seus próprios atributos e métodos respectivamente.

Veja, identificamos o objeto que será representado em nosso sistema, mas ainda não o criamos. Visto que somente depois de entendermos o escopo do projeto é que poderemos fazê-lo com clareza. Então iremos definir as classes com seus atributos (características), e métodos (comportamentos). E só então criar objetos distintos a partir da abstração desta classe.

A classe é o nosso modelo generalizado que agrega características comuns aos dois tipos de carro. Os objetos criados a partir desta classe, são representações mais específicas. Visto que um utilitário pode conter características que um carro de passeio não precisa ter. O contrário também é verdadeiro.

E tão importante quanto a criação do objeto é seguir a regra para dar nome a ele. Use substantivos que o identifique de imediato.

Veja abaixo um quadro que exemplifica a divisão das responsabilidades entre atributos e métodos.

EM POUCAS PALAVRAS

O que aprendemos hoje é que objeto é a instância de uma classe. Aliás, instância é o que pode ser categorizado, isto é, agrupado por características comuns. Ensinamos você a pensar da forma correta em orientação a objetos. Os próximos tutorias nos deixarão mais à vontade neste novo cenário.

O objeto do mundo real escolhido neste tutorial, foi o carro, que foi representado por meio de uma classe em JAVA. Esta classe recebeu como atributos, nome, velocidade, cor, marca, se é importado ou não, valor e tipo de combustível. Mas estas não só são as características de um carro como são as características comuns a todos eles.

E por meio dos métodos definimos as ações possíveis a classe Carro. Estes métodos são, dar partida, acelerar, correr, frear, fazer a curva, desligar. Observe que para definir os métodos da classe, recorremos ao uso dos verbos. O próximo passo, será a instanciação deste objeto, ou seja, a criação do mesmo.

 Carro carro = new Carro();

É isso caros desenvolvedores, uma vez familiarizados com tão importantes conceitos, estamos prontos para logo começar colocar a mão no código.