今まで使ったSerial5.morphをクラス化するために新しいクラスSerialPortMorphを作る。とりあえずこのモーフの外見は四角で良いので、RectangleMorphのサブクラスにする。シリアルポートモーフの「属性」として「扱っているシリアルポート」、「そのポートの番号」と「マイコンから受け取ったデータ」があるので、これらをを保持するための変数としてインスタンス変数serialPort, portNumber, receivedDataを定義する必要がある。シリアルポートモーフのインスタンスがメッセージsend:, wait:, receive, openPort, closeに答えなければ成らないのでこれらのメソッドをクラスSerialPortMorph内に定義する。 しかしMorph のインスタンスは独自のメソッドを持つことができないのでクラスPlayerのサブクラスに一対一対応させる。メソッドや変数の出力などがビューワーに表示するように、クラスメソッドであるインターフェイス用メソッドadditionsToViewerCategoriesを作る。これらの変数やメソッドの関係は図8.2に表す。