The main control is used to create new flights and customers. It also has the capability of loading the classes from their respected class files. This way you can access a specific customer or flight from the file of flights and you can modify or view the information. For example, after a new flight has been scheduled, OO has the opportunity to go back and make modifications to the different components of that flight.
A customer has many pieces of information: their ID number, number of flights they are taking/have taken, if they are part of the frequent-flier program, their distance travelled if they are part of the frequent-flier program, whether or not they have made a reservation, their reservation details, how much cargo they are bringing on, their passport information, their name, and their date of birth. In addition, this class must be able to make reservations, and display passenger information when prompted for it.
The flight class will be managing all data for a particular flight. It will keep record of the plane type, available seats, the departure location, the arrival location, the departure time, the arrival time, and whether it is delayed or not. It will also need to be able to calculate mileage travelled for the entire flight, be able to calculate and output the flight time and display all necessary flight information when prompted for it.
The plane class will contain all necessary plane information. The plane class must know the amount of seats it has, the name and model of itself, know different plane speeds, and it will contain information describing the optimal distances of each plane. It has only one task: displaying the information when prompted for it.