public static void Main() { //get everything var cessna = new Cessna(); var hovercraft = new HoverCraft(); var jetski = new JetSki(); var boat = new Boat(); var motorcycle = new Motorcycle(); var car = new Car(); // Build a collection of all vehicles that fly var FlyingVehicles = new List <IFly> { cessna }; FlyingVehicles.Add(cessna); FlyingVehicles.Add(hovercraft); foreach (var FlyingVehicle in FlyingVehicles) { FlyingVehicle.Fly(); } // Build a collection of all vehicles that operate on roads var RoadVehicles = new List <ILand> { motorcycle }; RoadVehicles.Add(motorcycle); RoadVehicles.Add(car); // With a single `foreach`, have each road vehicle Drive() foreach (var RoadVehicle in RoadVehicles) { RoadVehicle.Drive(); } // Build a collection of all vehicles that operate on water var WaterVehicles = new List <IWater> { jetski, boat }; WaterVehicles.Add(jetski); WaterVehicles.Add(boat); // With a single `foreach`, have each water vehicle Drive() foreach (var WaterVehicle in WaterVehicles) { WaterVehicle.Drive(); } Console.Read(); }
static void Main(string[] args) { // using classes to instantiate new obejcts Zero fxs = new Zero(); fxs.BatteryKWh = 77.7; fxs.MainColor = "Blue"; fxs.MaximumOccupancy = "1"; fxs.CurrentChargePercentage = 10; Zero fx = new Zero(); fxs.BatteryKWh = 77.7; fxs.MainColor = "Purple"; fxs.MaximumOccupancy = "1"; fx.CurrentChargePercentage = 15; Tesla modelS = new Tesla(); modelS.BatteryKWh = 101.1; modelS.MainColor = "Black"; modelS.MaximumOccupancy = "5"; modelS.CurrentChargePercentage = 20; Ram SLT = new Ram(); SLT.FuelCapacity = 99.9; SLT.MainColor = "Red"; SLT.MaximumOccupancy = "4"; Cessna mx410 = new Cessna(); mx410.FuelCapacity = 88.8; mx410.MainColor = "White"; mx410.MaximumOccupancy = "8"; // using interface to create list List <IElectricVehicle> electricVehicles = new List <IElectricVehicle>() { // objects to be used in list fx, fxs, modelS }; // looping over with for each to grab the current charge off obejct. // Writing out current charge percentage from objects Console.WriteLine("Electric Vehicles"); foreach (IElectricVehicle ev in electricVehicles) { Console.WriteLine($"{ev.CurrentChargePercentage}"); } // looping over with for each to grab the current charge off obejct and apply the Charge Battery method to it. foreach (IElectricVehicle ev in electricVehicles) { // This method should charge the vehicle to 100% ev.ChargeBattery(); } // looping over with for each to grab the New current tank percentage off obejct. // Writing out the new current charge percentage from object foreach (IElectricVehicle ev in electricVehicles) { Console.WriteLine($"{ev.CurrentChargePercentage}"); } Console.WriteLine("-------"); /***********************************************/ // using interface to create list List <IGasVehicle> gasVehicles = new List <IGasVehicle>() { // objects to be used in list SLT, mx410 }; // looping over with for each to grab the current tank percentage off obejct. // Writing out current tank percentage from objects Console.WriteLine("Gas Vehicles"); foreach (IGasVehicle gv in gasVehicles) { Console.WriteLine($"{gv.CurrentTankPercentage}"); } // looping over with for each to grab the current charge off obejct and apply the Refuel Tank method to it. foreach (IGasVehicle gv in gasVehicles) { // This Method should completely refuel the gas tank gv.RefuelTank(); } // looping over with for each to grab the New current tank percentage off obejct. // Writing out the new current charge percentage from object foreach (IGasVehicle gv in gasVehicles) { Console.WriteLine($"{gv.CurrentTankPercentage}"); } Console.WriteLine("-------"); // Calling methods on instantiated objects modelS.Drive(); modelS.Turn(); modelS.Stop(); Console.WriteLine("-------"); fxs.Drive(); fxs.Turn(); fxs.Stop(); Console.WriteLine("-------"); fx.Drive(); fx.Turn(); fx.Stop(); Console.WriteLine("-------"); SLT.Drive(); SLT.Turn(); SLT.Stop(); Console.WriteLine("-------"); mx410.Turn(); mx410.Drive(); mx410.Stop(); }
static void Main(string[] args) { //Inheritance Exercise Zero fxs = new Zero(); fxs.MainColor = "red"; fxs.MaximumOccupancy = "2"; Tesla modelS = new Tesla(); modelS.MainColor = "black"; modelS.MaximumOccupancy = "4"; Cessna mx410 = new Cessna(); mx410.MainColor = "yellow"; mx410.MaximumOccupancy = "2"; Ram fifteenhundred = new Ram(); fifteenhundred.MainColor = "blue"; fifteenhundred.MaximumOccupancy = "5"; // fxs.Drive (); // modelS.Drive (); // mx410.Drive (); // fifteenhundred.Drive (); // modelS.Turn ("left"); // fifteenhundred.Turn ("right"); // fxs.Stop (); //Interface Exercise List <IElectric> electricVehicles = new List <IElectric> { fxs, modelS }; Console.WriteLine("Electric Vehicles"); foreach (IElectric ev in electricVehicles) { Console.WriteLine($"{ev.CurrentChargePercentage}"); } foreach (IElectric ev in electricVehicles) { ev.ChargeBattery(); } foreach (IElectric ev in electricVehicles) { Console.WriteLine($"{ev.CurrentChargePercentage}"); } /******************************************************/ List <IGas> gasVehicles = new List <IGas> { fifteenhundred, mx410 }; Console.WriteLine("Gas Vehicles"); foreach (IGas gv in gasVehicles) { Console.WriteLine($"{gv.CurrentTankPercentage}"); } foreach (IGas gv in gasVehicles) { gv.RefuelTank(); } foreach (IGas gv in gasVehicles) { Console.WriteLine($"{gv.CurrentTankPercentage}"); } }