Obiekty

Posted on Wed 11 June 2008 in Uncategorized • 1 min read

We wszystkich do tej pory przeglądanych przeze mnie książkach o programowaniu gdy tłumaczono czym jest obiektowość przywoływano jakiś przykład, a to samochód, a to owoc, czasem też człowieka. Samochód miał cechy takie jak np. kolor, ilość drzwi, itp. oraz metody które wykorzystywano np. do wprawiania auta w ruch.

W trakcie czytania "Języka programowania LISP" natknąłem się na bardzo przyjazny fragment dotyczący obiektówki. Idzie to tak:
(define (twórz stos)
(let ((stos '()))
(lambda (komun . listaarg)
(cond ((eq? komun 'dołóż)
(set! stos (cons (car listaarg) stos)))
((eq? komun 'zdejmij)
if (null? stos)
(error "Stos jest pusty")
(let ((góra (car stos)))
góra)))
((eq? komun 'pusty?)
(null? stos))
(else (error "Nieznany komunikat"
komun))))))
Tworzymy stos:
(define stos-1 (twórz stos))
I używamy metod:
(stos-1 'dołóż 1)
(1)
(stos-1 'dołóż 2)
(2 1)
(stos-1 'zdejmij)
(2)
(stos-1 'pusty?)
#f