14.4.3 The position implementation file
The position implementation file is simply a collection of the source records that we developed earlier for creating and saying absolute and relative positions.
The |
|---|
Module: position-implementation define abstract class <position> (<object>) end class <position>; |
define class <absolute-position> (<position>) slot latitude :: <latitude>, required-init-keyword: latitude:; slot longitude :: <longitude>, required-init-keyword: longitude:; end class <absolute-position>; |
define method say (position :: <absolute-position>) => () say(position.latitude); say(position.longitude); end method say; |
define class <relative-position> (<position>) // Distance is in miles slot distance :: <single-float>, required-init-keyword: distance:; // Angle is in degrees slot angle :: <angle>, required-init-keyword: angle:; end class <relative-position>; |
define method say (position :: <relative-position>) => ()
format-out("%s miles away at heading ", position.distance);
say(position.angle);
end method say;
|




