// Pelican.java [dynamic] import java.util.*; public class Pelican extends Oviparous implements Flier, Walker { // for Flier public void Takeoff() { trace("Pelican.Takeoff():"); } public void Ascend() { trace("Pelican.Ascend()"); } public boolean ThereYet(int x, int y) { trace( "Pelican.ThereYet()" ); return false; } public void FlapTowards(int x, int y) { trace( "Pelican.FlapTowards()" ); } public void Descend() { trace( "Pelican.Descend():" ); } public void Land() { trace( "Pelican.Land()" ); } // for Walker public void Prepare() { trace( "Pelican.Prepare()" ); } public int NumberOfFeet() { trace( "Pelican.NumberOfFeet()" ); return 2; } public void MoveFoot(int feetno) { trace( "Pelican.MoveFoot()" ); } public void Stabilize() { trace( "Pelican.Stabilize()" ); } public void AtEase() { trace( "Pelican.AtEase()" ); } // ============== for Flier Flier$Ego $flier = new Flier$Ego( $shrink ); public void Fly(int x, int y, int altitude) { if ( personifies( "Flier" ) ) $flier.Fly(this, x, y, altitude); } // ============== For Walker Walker$Ego $walker = new Walker$Ego( $shrink ); public void Walk(int distance) { if ( personifies( "Walker" ) ) $walker.Walk(this, distance); } }