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.