Entendendo POO (História e conceitos)
Sabemos que Java, C++ e Object Pascal são linguagens Orientadas a Objetos, mas sabemos o que isso significa? Entenda de uma forma dinâmica e objetiva os conceitos e as características dessa poderosa ferramenta.
Introdução
Antes de continuar lendo, olhe ao seu redor... O que você vê? Objetos!
Pessoas, animais, plantas, carros, aviões... Todos são objetos com os quais
aprendemos a nos relacionar no dia-a-dia, e todos juntos formam aquilo que
chamamos de "mundo real". Até nossos pensamentos dizem respeito a objetos:
"Que garota bonita!" ou ainda, "Queria comprar esse carro!". E isso é a
Orientação a Objetos, organizar o mundo real como uma coleção de objetos.
Pensando em objetos, podemos modelar o mundo real, observando características e comportamentos de um objeto qualquer, comparando-os e unindo-os em grupos. Esse conjunto de comportamentos e atributos são o que chamamos de classes.
Em outras palavras, uma classe é um modelo para algo que deve ser criado. Por exemplo, quando alguém vai fazer um bolo, pega-se uma "Receita para Bolo", que será usada como um modelo para o bolo que será criado. De forma análoga, a receita é uma classe, e o bolo, um objeto.
Sabemos que no mundo existem dois grandes grupos: um onde ficam os objetos animados, que em certo sentido podem ser chamados de "vivos", e o grupo dos inanimados. Os animados parecem mover-se ao nosso redor, enquanto os inanimados aparentemente não fazem coisa alguma. Apesar dessa diferença, todos esses objetos possuem atributos como tamanho, peso, forma, cor e apresentam certos comportamentos (métodos): a bola pode rolar, quicar, esvaziar; o bebê chora, brinca, sorri; a lâmpada acende e apaga etc.
Citando um exemplo: peguemos um caderno, desses normais que levamos para a escola, comparemos seus atributos com os de um ser humano. Não tem muita coisa a ver, não é? Mas se pegarmos esse caderno e compararmos com um livro, notaremos que ambos são usados para o ato de escrever (lembrando que só escreva em um livro se ele for seu! ;P), possuem formas semelhantes, enfim, possuem características semelhantes, logo podem ser unidos em uma mesma classe: a dos "blocos de papeis", que por sinal pertence à classe dos objetos inanimados.
Pensando em objetos, podemos modelar o mundo real, observando características e comportamentos de um objeto qualquer, comparando-os e unindo-os em grupos. Esse conjunto de comportamentos e atributos são o que chamamos de classes.
Em outras palavras, uma classe é um modelo para algo que deve ser criado. Por exemplo, quando alguém vai fazer um bolo, pega-se uma "Receita para Bolo", que será usada como um modelo para o bolo que será criado. De forma análoga, a receita é uma classe, e o bolo, um objeto.
Sabemos que no mundo existem dois grandes grupos: um onde ficam os objetos animados, que em certo sentido podem ser chamados de "vivos", e o grupo dos inanimados. Os animados parecem mover-se ao nosso redor, enquanto os inanimados aparentemente não fazem coisa alguma. Apesar dessa diferença, todos esses objetos possuem atributos como tamanho, peso, forma, cor e apresentam certos comportamentos (métodos): a bola pode rolar, quicar, esvaziar; o bebê chora, brinca, sorri; a lâmpada acende e apaga etc.
Citando um exemplo: peguemos um caderno, desses normais que levamos para a escola, comparemos seus atributos com os de um ser humano. Não tem muita coisa a ver, não é? Mas se pegarmos esse caderno e compararmos com um livro, notaremos que ambos são usados para o ato de escrever (lembrando que só escreva em um livro se ele for seu! ;P), possuem formas semelhantes, enfim, possuem características semelhantes, logo podem ser unidos em uma mesma classe: a dos "blocos de papeis", que por sinal pertence à classe dos objetos inanimados.