Scheme
Objectos, mensagens, métodos e classes Objectos e heranças Objectos com história; classe-caixa Objectos com história; classe-coleccao Abstracções com objectos - classe-pilha Exercícios e exemplos
Classe-fila Classe-lista-circular Projecto - Jogo de Dados Projecto - Vidas
Na programação orientada por objectos, os objectos são entidades modulares que respondem a mensagens. Para cada mensagem, o objecto tem previsto um método, através do qual lhe responde. A partir de um objecto é possível derivar um novo objecto. Diz-se que este novo objecto envia mensagens para o objecto que esteve na sua origem. Também é habitual dizer-se que o novo objecto herda, total ou parcialmente, os métodos daquele objecto. O grande interesse da programação orientada por objectos reside, em grande parte, na modularidade que apresenta, pois cada objecto surge como se fosse um módulo, e no reaproveitamento de código existente que este paradigma de programação oferece. O Scheme não é, propriamente, uma linguagem vocacionada para a programação orientada por objectos, característica que é mais notória em linguagens como Java, C++, Smalltalk ou Simula, mas permite, com relativa facilidade, introduzir os conceitos deste importante paradigma de programação.
1- Objectos, mensagens, métodos e classes Um objecto reage a um certo conjunto de mensagens, tendo para cada uma delas um método. Por exemplo, um objecto flor poderá reagir às mensagens identifica, duracao e cor, dispondo para tal dos métodos respectivos. À mensagem identifica, reage o objecto com um método que devolve o nome que lhe está associado. O método, correspondente à mensagem duracao, devolve o tempo médio de vida da flor, enquanto que o método cor devolverá a cor dessa flor. Em Scheme, uma objecto flor, com a identificação cravo, de cor amarelo, e com a duração média de 20-dias, é facilmente implementado através de um procedimento que se designa por flor-11.
(define flor-1