Revisão dos conceitos básicos

As sessões anteriores apresentaram, informalmente, os principais conceitos que caracterizam a programação orientada para objetos em Smalltalk. A seguir, esses conceitos são resumidos para uma melhor apreciação em conjunto:

  1. Todos os elementos do sistema são objetos. Todo objeto é uma instância de alguma classe.

  2. Cada objeto, além de possuir uma estrutura de dados particular, é ativo, no sentido de que reage a mensagens que lhe são enviadas, retornando um valor, que também é um objeto.

  3. Para cada classe, suas instâncias "compreendem" apenas as mensagens que fazem parte do seu protocolo de comunicação, rejeitando as demais. A cada mensagem corresponde um método específico, que fica localizado na classe.

  4. Qualquer componente de um objeto só pode ser acessado, ou modificado, por meio de mensagens especialmente implementadas para tal fim.

  5. Objetos podem ter estruturas bastante gerais, e podem ser construídos a partir de outros objetos previamente implementados. Este mecanismo permite definir, construir e manipular estruturas de grande complexidade.

  6. Toda a computação em Smalltak obedece ao mesmo paradigma de classes, objetos e mensagens, formando um ambiente uniforme e integrado. Essa característica torna possível que uma classe, uma vez definida, possa ser utilizada em diversas aplicações, estimulando a criação de classes de utilidade ampla.

  7. Smalltalk é uma linguagem extensível. Ela permite criar novas classes, e para cada classe existente, permite adicionar ou retirar métodos. Isso significa que o sistema pode ser ampliado e modificado, mantendo sempre sua uniformidade.