Froilan The Farmer

  • Objective: To implement a system indicative of a Farm environment
  • Purpose: To demonstrate multi-inheritence design issues

  • Consider a system in which

    • NoiseMaker can makeNoise
    • Animal is a NoiseMaker

      • Horse is a Animal
      • Dog is a Animal
    • Rider can mount and dismount a Rideable object.

    • Vehicle are NoiseMaker and Rideable

      • FarmVehicle can harvest a Produce

        • Tractor are FarmVehicle
        • CropDuster are FarmVehicle
      • Aircraft can fly

        • Plane are Aircraft which can cruise
        • Jet are Aircraft which can zoom
    • Produce can yield an Edible object.

      • CornStalk can yield a EarCorn
      • TomatoPlant can yield a Tomato
    • Person can eat an Edible object and makeNoise.

    • Farmer are Rider and Person

  • Consider

    • Froilan is a Farmer who has 5 Horse