/// <summary> /// A.L1.P6. Перегрузить следующие операторы для Transport <>,==/!= на базе физических размеров. /// Продемонстрировать использование в коде. /// </summary> public static void A_L1_P6_OperatorsOverloading() { FuelCar[] mass = new FuelCar[] { new FuelCar { Engine = 1.8f, FuelUsage = 10, Fuel = 45, Distance = 25045 }, new FuelCar { Engine = 2.8f, FuelUsage = 18, Fuel = 60, Distance = 25045 }, new FuelCar { Engine = 0.8f, FuelUsage = 6, Fuel = 40, Distance = 25045 }, new FuelCar { Engine = 1.8f, FuelUsage = 10, Fuel = 50, Distance = 25045 } }; bool compare; for (int i = 0; i < 4; i++) { for (int j = 1; j < 4; j++) { Console.WriteLine(mass[i].Engine + " < " + mass[j].Engine + " " + (compare = mass[i] < mass[j])); Console.WriteLine(mass[i].Engine + " > " + mass[j].Engine + " " + (compare = mass[i] > mass[j])); Console.WriteLine(mass[i].Engine + " == " + mass[j].Engine + " " + (compare = mass[i] == mass[j])); Console.WriteLine(mass[i].Engine + " != " + mass[j].Engine + " " + (compare = mass[i] != mass[j])); } } }
public static void InheritanceTransportExample() { Transport transport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; var transport2 = new Transport { Distance = 34, MaxSpeed = 5 }; Transport unknowedTransport = new Transport { Distance = 34, MaxSpeed = 5 }; unknowedTransport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; //var fuel = unknowedTransport.Fuel; FuelCar maserati = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045, Engine = 300 }; FuelCar geely = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045, Engine = 150 }; Transport winner = maserati; FuelCar firstPlace = (FuelCar)winner; Console.WriteLine(maserati == geely); }
public static void InheritanceTransportExample() { Transport transport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; var transport2 = new Transport { Distance = 34, MaxSpeed = 5 }; Transport unknowedTransport = new Transport { Distance = 34, MaxSpeed = 5 }; unknowedTransport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; //var fuel = unknowedTransport.Fuel; FuelCar maserati = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; Transport winner = maserati; FuelCar firstPlace = (FuelCar)winner; }
private static void СomparisonPower(FuelCar car1, FuelCar car2) { var equalPower = car1 > car2 ? "Infinity car is more powerful" : "Hyundai I 10 car is more powerful"; var equalPower_2 = car1 == car2 ? "Power cars are equal" : "Power cars are not equal"; Console.WriteLine(equalPower); Console.WriteLine(equalPower_2); }
/// <summary> /// A.L1.P5_6. Перегрузить следующие операторы для Fuelcar <(меньше), >(больше), ==(равно), !=(не равно) на базе значения мощности двигателя Engine. /// Продемонстрировать использование в коде. /// </summary> public static void A_L1_P5_6_OperatorsOverloading() { FuelCar f1 = new FuelCar { Engine = 2.0f }; FuelCar f2 = new FuelCar { Engine = 1.6f }; bool result = f1 > f2; bool result2 = f1 != f2; Console.WriteLine(result + " " + result2); }
public static void InheritanceTransportExample() { Transport transport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; var transport2 = new Transport { Distance = 34, MaxSpeed = 5 }; Transport unknowedTransport = new Transport { Distance = 34, MaxSpeed = 5 }; unknowedTransport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; //var fuel = unknowedTransport.Fuel; FuelCar maserati = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; Transport winner = maserati; FuelCar firstPlace = (FuelCar)winner; Transport fCar = new FuelCar() { Distance = 150, Fuel = 50, FuelUsage = 13 }; Transport eCar = new ElectroCar() { Distance = 300, Battery = 500, DistanceBattery = 200 }; var cars = new Transport[] { fCar, eCar }; foreach (var car in cars) { car.Move(10); } }
public static void InheritanceTransportExample() { var transport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; var transport2 = new Transport { Distance = 34, MaxSpeed = 5 }; var fuel = new FuelCar() { Engine = 20 }; var electrofuel = new FuelCar() { Engine = 10 }; var exem = new FuelCar(30); var exem2 = new FuelCar(20); Transport unknowedTransport = new Transport { Distance = 34, MaxSpeed = 5 }; unknowedTransport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; FuelCar maserati = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; Transport winner = maserati; FuelCar firstPlace = (FuelCar)winner; var conclusion = exem > exem2 ? "Yeah, more" : "Not enough"; var conclusion2 = exem == exem2 ? "The same" : "Not so close"; Console.WriteLine($"{conclusion}::::{conclusion2}"); }
public static void InheritanceTransportExample() { //Transport transport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; //var transport2 = new Transport { Distance = 34, MaxSpeed = 5 }; //Transport unknowedTransport = new Transport { Distance = 34, MaxSpeed = 5 }; //unknowedTransport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; ////var fuel = unknowedTransport.Fuel; //FuelCar maserati = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; //Transport winner = maserati; //FuelCar firstPlace = (FuelCar)winner; FuelCar fuelCar1 = new FuelCar() { Engine = 400, Fuel = 45, Distance = 25045 }; FuelCar fuelCar2 = new FuelCar() { Engine = 400, Fuel = 45, Distance = 25045 }; if (fuelCar1.Engine > fuelCar2.Engine) { Console.WriteLine($"Наибольная мощность машины 1: {fuelCar1.Engine}"); } else if (fuelCar1.Engine < fuelCar2.Engine) { Console.WriteLine($"Наибольная мощность машины 2: {fuelCar2.Engine}"); } else if (fuelCar1.Engine == fuelCar2.Engine) { Console.WriteLine($"Мощности обоих машин равны: {fuelCar2.Engine}"); } bool result = fuelCar1.Engine != fuelCar2.Engine; if (result == true) { Console.WriteLine($"Мощности обоих машин неравны."); } }
/// <summary> /// A.L1.P5. Перегрузить следующие операторы для FuelCar < (меньше), > (больше), == (равно), /// != (неравно) на базе значения мощности двигателя Engine.Продемонстрировать использование в коде. /// </summary> public static void A_L1_P5_6_CarOperatorsOverloading() { FuelCar car1 = new FuelCar() { Engine = 100 }; FuelCar car2 = new FuelCar() { Engine = 150 }; Console.WriteLine(car1 < car2 ? "Car 1 has smaller engine": "Car 2 has greater engine"); car1.Engine = 200; Console.WriteLine(car1 > car2 ? "Car 1 has greater engine" : "Car 2 has smaller engine"); Console.WriteLine(car1 == car2 ? "Cars have the same engine" : "Cars have different engines"); car1.Engine = 150; Console.WriteLine(car1 != car2 ? "Cars have different engines" : "Cars have the same engine"); }
public static void InheritanceTransportExample() { Transport transport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; var transport2 = new Transport { Distance = 34, MaxSpeed = 5 }; Transport unknowedTransport = new Transport { Distance = 34, MaxSpeed = 5 }; unknowedTransport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; //var fuel = unknowedTransport.Fuel; FuelCar maserati = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; Transport winner = maserati; FuelCar firstPlace = (FuelCar)winner; //A.L1.P5/6. FuelCar infiniti = new FuelCar() { Engine = 340 }; FuelCar hyundaiI10 = new FuelCar() { Engine = 87 }; СomparisonPower(infiniti, hyundaiI10); }
public static void InheritanceTransportExample() { var transport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; var transport2 = new Transport { Distance = 34, MaxSpeed = 5 }; var unknowedTransport = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; var electroVehicle = new ElectroCar() { MaxSpeed = 140, Battery = 55 }; FuelCar maserati = new FuelCar() { FuelUsage = 10, Fuel = 45, Distance = 25045 }; Transport winner = maserati; FuelCar firstPlace = (FuelCar)winner; transport.Engine = 350; maserati.Engine = 240; unknowedTransport.Engine = 168; electroVehicle.Engine = 100; Console.WriteLine(electroVehicle < unknowedTransport); Console.WriteLine(maserati > transport); Console.WriteLine(transport != electroVehicle); Console.WriteLine(unknowedTransport == maserati); }