indexing description: "The abstract state" deferred class AbstractState feature {ANY} -- Abort request abort is do -- default: do nothing end; -- Request to finish transaction finish is do -- default: do nothing end; -- A new card has been inserted insert_card (c: Card): Boolean is deferred end; -- Money has been inserted add_money (m: integer) is deferred end; -- Debug: dump the state show_state is deferred end; -- Get the card that is currently in the machine get_card: Card is do -- default: no card Result := void; end; -- Get the total amount of money in the machine (money on card + money -- that has been inserted) get_money: Integer is do -- default: no money in machine Result := 0; end; end -- class AbstractState