Object subclass: Book [ | title borrowed | Book class >> title: aTitle [ ^self new initialize: aTitle ] initialize: aTitle [ title := aTitle. borrowed := false. ] borrow [ borrowed := true. ] returnBook [ borrowed := false. ] title [ ^title ] ] Object subclass: Student [ | name | Student class >> name: aName [ ^self new initialize: aName ] initialize: aName [ name := aName. ] borrow: aBook [ aBook borrow. Transcript show: name , ' borrowed ' , aBook title; cr. ] return: aBook [ aBook returnBook. Transcript show: name , ' returned ' , aBook title; cr. ] ] | book student | book := Book title: 'Programming'. student := Student name: 'Tanaka'. student borrow: book. student return: book.