Conceitos em Base POO

Apesar de se falar sempre em objectos, e de se pensar em objectos, ao programar-se e desenhar-se o nosso sistema, usam-se classes, que embora estejam intimamente ligadas aos objectos, não significam a mesma coisa. Esta distinção pode ser algo estranha de perceber.
Chama-se a uma classe a representação, o esquema, a planta ou até, o molde do objecto. A classe define o comportamento do objecto, os seus atributos, a relações que estabelece com outros objectos, mas é apenas uma representação.

Pode-se ver isso como o molde de uma lâmpada, embora o molde dê forma à lâmpada, não é uma lâmpada. Usam-se as lâmpadas no dia a dia, não os seus moldes, mas precisa-se de um molde para criar todas as lâmpadas que se compram.

Ao programar está a fazer-se o mesmo processo, defini-se um objecto através da construção da classe, essa construção é feita através de código, onde dizemos que uma lâmpada pode ter uma cor, pode ter um método que permita acender, etc.
Um objecto, em contrapartida, existe em memória, contém valores no seus atributos, exprime um estado no nosso sistema. Não se pode dizer se a classe Lâmpada está acesa, mas pode-se dizer se o objecto lampada1 está aceso, e podemos até enviar-lhe uma mensagem para que se desligue.

0 comentários:

Enviar um comentário