Mas que diabos é uma classe?

Quem nunca se perguntou isso? Acredito ser a primeira pergunta que vem a cabeça de quem está iniciando na orientação a objetos. Por esse motivo tentarei encontrar uma maneira simples, clara e objetiva de explicar.

Ok, então vamo nessa!

Antes de tentar revelar o mistério precisamos dar uma repassada básica em orientação a objetos. OO é um paradigma de desenvolvimento, ou seja, um modelo ou padrão a ser seguido, que tenta representar conceitos da vida real através de objetos com o intuito de atingir algum objetivo.

Eu disse conceitos, pois como foi bem lembrado em um artigo do Urubatan, nem todos os objetos na programação representam exatamente objetos na vida real. Tal como um objeto Compra que não é algo materializável no nosso mundo. Acho que agora podemos partir para as classes.

Classe como muitos livros definem, é o molde para criação de um objeto, ou seja, a fôrma de como ele deve ser criado. Um exemplo de comparação é a planta de uma casa, ela seria a classe e a casa em si o objeto. Através de uma única planta podemos construir várias casas. O projeto de um carro serve para construirmos vários carros e cada um, apesar de serem construídos a partir do mesmo projeto, podem ter suas particularidades (cor, airBag,etc..). O carro é o nosso objeto e o projeto do carro a nossa classe.

classe

A classe que serve para a criação de um objeto, ou seja, representação de um conceito na vida real pode ter origem basicamente através de: uma coisa tangível, de uma função desempenhada, de um incidente ou uma interação;

Coisa tangível: um objeto em si, carro, bola, martelo, etc.;

Função determinada: representação de um emprego ou função. Ex.: dentista, professor, etc.;

Incidente: que incide sobre algo, acrescenta qualidade ao antecedente. Ex.: vôo, apresentação, aula, etc.;

Interações: que interagem, de movimentação. Ex.: compra, venda, casamento, etc.;

Uma classe define o estado de um objeto e o modo como ele se comporta através de atributos e métodos que seriam as características do nosso carro e as funcionalidades que ele apresenta.

Características ou atributos: cor, preço, ano, modelo e etc.

Funcionalidades ou métodos: acelerar, buzinar, derrapar e etc.

Em algumas fontes de pesquisa podemos encontrar classes como uma estrutura que abstrai um conjunto de objetos similares (vide Wikipédia), ou seja, um molde, fôrma, projeto que foca nos aspectos mais importantes de um objeto a fim de representá-lo de forma generalizada, podendo ser reutilizado.

A idéia é tentar generalizar, agrupando as informações mais importantes no momento em que se descreve uma classe para que ela possa ser utilizada muitas vezes. Esse conceito será melhor explicado em tópicos futuros como os de Generalização e Herança

Bem gente, eu espero não ter esquecido nada. Tentei facilitar ao máximo e por isso é interessante que vocês nos dêem um retorno sobre os post’s. Assim podemos saber se estamos falando de uma maneira que todos entendam e também descobrimos se não erramos em nada.

Hasta La Vista,

Lucas Menezes

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">