The Cyber-Air Flight Simulator

Assume NASA wants to build a flight simulator. Toward this goal NASA purchases a library of simulated aircraft from CyberAir Corp:

The flight package contains a hierarchy of aircraft models:

Note that the subclasses override the inherited methods. This is because the algorithms for taking off, flying, and landing are quite different for airplanes, helicopters, and blimps.

NASA's sim package contains classes representing pilots, airports, control towers, and fleets. For example:

The Java Implementation

The C++ Implementation