Descomplicando De Vez O Que São Classes
Existe uma grande dificuldade em aprender sobre POO (programação orientada a Objetos), uma delas é entender o que a uma classe e qual seu papel dentro deste cenário.
Mas qual é a definição de uma classe dentro da programação?
“De forma simplificada, podemos dizer que os objetos são características definidas pelas classes. Já uma classe é uma abstração que define um tipo de objeto e o que objetos deste determinado tipo tem dentro deles (seus atributos), bem como também define que tipo de ações esse tipo de objeto tem o poder de realizar (métodos). Através da classe é permitido instanciar (criar) objetos para inicializar os atributos e invocar os métodos.”
Mesmo com está definição bem esclarecedora, tenho certeza algumas pessoas ainda se perguntam o que é que ele está falando. Começa a ver alguns com aquela cara se perguntando meu Deus, será que vou conseguir entender?
Para entender as classes vamos explicar um pouco sobre Objetos e assim dar continuidade. Um objeto é uma porção física ou porção de um átomo, sim, isso mesmo físico, trazendo para programação, podemos dizer que na programação trabalhamos com abstrações. Na programação entendemos que a menor partícula entendida e indivisível é o bit.
O conjunto de bit cria um objeto em programação, da mesma forma que um conjunto de átomos cria um objeto físico, na prática para formar um objeto útil de fato precisamos de pelo menos 1 byte, possivelmente um conjunto deles, até muitos deles, que forme algo que possamos identificar especificamente. Obviamente que objetos, como sua contrapartida física, podem ser formados por um conjunto de outros objetos.
Desprezamos onde está e nos atentamos ao dado, a informação é um objeto. Então podemos dizer que quando declaramos uma variável estamos criando um objeto, todo objeto como no meio físico tem um atributo como: nome do objeto, cor do objeto, altura do objeto, etc. Também tem um conjunto de funcionalidade que em programação chamamos de métodos.
Já entendido o que é um objeto, bora falar de classe.
Imagine que uma classe é uma receita de bolo, este bolo pode ser de um sabor especifico ou simplesmente ficar a encargo do usuário, na receita temos os ingredientes, forma de preparo, tipo de bolo, para quantas porções entre outras informações. Temos que tipo de bolo, sabor do bolo, para quantas pessoas e itens são atributos, o método de preparo e formas do preparo são os métodos.
Vamos colocar isso em código para melhor visualizar:
Ah, ok, mas ainda não entendi.
Então vamos lá, imagine que você é um objeto, o objeto fulano de tal, como atributo você tem seu nome, altura, cor de pele, peso, etnia, cor do cabelo, cor dos olhos, etc. Da mesma forma que outras pessoas também tem, os métodos nada mais são que funções que você como objeto desempenha, andar, pular, pensar, se levantar, cair, cumprimentar, falar por aí vai.
Agora imagine que um centro de pesquisa queira fazer o cadastro de inúmeras pessoas, ele cria um formulário perguntando sobre todos os atributos e uma seção com os métodos, onde ele pode preencher esse formulário para várias pessoas. Esse formulário em programação nada mais é que uma classe.
Comecei a entender o que são classes, mas o que é o tal de construtor em uma classe?
Como diria um grande professor de programação que tive “boa pergunta, pequeno gafanhoto”.
Os construtores nada mais são que funções de inicialização de uma classe, quando o objeto desta classe é criado o construtor é invocado para inicializar está classe, podendo conter nele campos internos da classe, alocar recursos que um objeto da classe posso precisar.
Por favor, não se limite só a está pequena explicação, pois, tanto a classe como tudo que tem dentro dela e suas infinitas possibilidades para cada linguagem de programação é enorme, espero que você crie o interesse de desbravar o mar de conhecimento acerca do assunto.
Perceba que a Programação com POO utiliza muito a abstração de coisas reais, então entender o que são as coisas no mundo real dá uma boa lógica de como funciona na programação, o resto é sintaxe na qual podemos com o tempo desenvolver o conhecimento.
Agora poderia discorrer um enorme texto com alguns métodos gerais que podemos utilizar dentro das classes como o famoso “get e set” entre outros, mas este material foi algo para desmistificar a tão temida classe em programação, conforme o decorrer do tempo posto mais conteúdos de complemento a esse.
Abraços