// SeaLion.java [dynamic] import java.util.*; public class SeaLion extends Mammal implements Walker,Jumper,Swimmer { // for Walker public void Prepare() { trace( "SeaLion.Prepare()" ); } public int NumberOfFeet() { trace( "SeaLion.NumberOfFeet()" ); return 2; } public void MoveFoot(int feetno) { trace( "SeaLion.MoveFoot()" ); } public void Stabilize() { trace( "SeaLion.Stabilize()" ); } public void AtEase() { trace( "SeaLion.AtEase()" ); } // for Swimmer public void JumpInTheWater() { trace( "SeaLion.JumpInTheWater()" ); } public void Submerge() { trace( "SeaLion.Submerge()"); } public void MoveFin() { trace( "SeaLion.MoveFin()"); } public void Rise() { trace( "SeaLion.Rise()"); } public void JumpOutOfTheWater() { trace( "SeaLion.JumpOutOfTheWater()"); } // for Jumper public boolean CheckDistance(int x, int y) { trace( "SeaLion.CheckDistance()" ); return true; } public void SprintTo(int x, int y) { trace( "SeaLion.SprintTo()" ); } public void LiftOff(int alt) { trace( "SeaLion.LiftOff()" ); } public void Land() { trace( "SeaLion.Land()" ); } // ============== for Swimmer Swimmer$Ego $swimmer = new Swimmer$Ego( $shrink ); public void Swim(int miles, int depth) { if ( personifies( "Swimmer" ) ) $swimmer.Swim(this, miles, depth); } // ============== for Walker Walker$Ego $walker = new Walker$Ego( $shrink ); public void Walk(int distance) { if ( personifies( "Walker" ) ) $walker.Walk(this, distance); } // ============== for Jumper Jumper$Ego $jumper = new Jumper$Ego( $shrink ); public void Jump(int x, int y, int alt) { if ( personifies( "Jumper" ) ) $jumper.Jump(this, x, y, alt); } }