Предмет: Информатика, автор: Kukuwka0Ha0DepeBe

С#
Реализовать класс машина. Название и кол-во бензина в баке.

В машине создать два события, событие успешного запуска машины и событие неуспешного запуска машины.
(OnSucceedLaunch, OnFailuredLaunch).

В машине создать функцию Запуск, которая будет проверять - если в баке бензина хватает для запуска (> 0), функция инвоуком вызывает событие успешного запуска машины.

Если при запуске в баке топлива нет, то функция запуска вызывает событие неуспешного запуска машины.

Car
public event CarDelegate OnSuccessLaunch


*main*
Car
car.OnSuccessLaunch += Foo;
car.Launch();

Ответы

Автор ответа: ggig77895
0

Ответ:

using System;

// Делегат для событий успешного и неуспешного запуска машины

public delegate void CarDelegate();

// Класс Машина

public class Car

{

   // Событие успешного запуска машины

   public event CarDelegate OnSuccessLaunch;

   // Событие неуспешного запуска машины

   public event CarDelegate OnFailureLaunch;

   // Название машины

   public string Name { get; set; }

   // Количество бензина в баке

   private int fuelLevel;

  // Конструктор класса

   public Car(string name, int initialFuelLevel)

   {

       Name = name;

       fuelLevel = initialFuelLevel;

   }

  // Функция для запуска машины

   public void Launch()

   {

       if (fuelLevel > 0)

       {

           Console.WriteLine($"{Name} успешно запущена!");

           // Вызов события успешного запуска машины

           OnSuccessLaunch?.Invoke();

       }

       else

       {

           Console.WriteLine($"{Name} не удалось запустить. Нет топлива в баке.");

           // Вызов события неуспешного запуска машины

           OnFailureLaunch?.Invoke();

       }

   }

}

class Program

{

  // Метод, который будет вызван при успешном запуске машины

   static void Foo()

   {

       Console.WriteLine("Машина успешно запущена! (Обработчик события)");

   }

   static void Main()

   {

       // Создание объекта машины

       Car car = new Car("Моя машина", 10);

      // Подписка на событие успешного запуска

       car.OnSuccessLaunch += Foo;

       // Вызов функции для запуска машины

       car.Launch();

       // Отписка от события успешного запуска (если нужно)

       // car.OnSuccessLaunch -= Foo;

   }

}

Объяснение:

создается класс Car, который имеет два события: OnSuccessLaunch и OnFailureLaunch. При вызове метода Launch(), происходит проверка наличия топлива в баке. Если топливо есть, вызывается событие успешного запуска, иначе вызывается событие неуспешного запуска. В главной функции Main создается объект машины, подписывается обработчик события успешного запуска, и вызывается метод Launch().

Похожие вопросы
Предмет: Физика, автор: vika2552ball
Предмет: Русский язык, автор: vasya1233503333
помогите найти причастные обороты пж! даю много баллов

Знаменитый немецкий теоретик искусства XVIII в. И.И. Винкельман превыше всего ставил умение художника воплотить в своем творении благородную простоту и спокойное величие. Этим умением в полной мере владели три великих мастера — Ф.С.Рокотов, Д.Г.Левицкий и В.Л.Боровиковский, оставившие нам галерею лиц екатерининской и павловской России. Их портреты и сегодня являются прекрасным источником знаний о человеке той эпохи, источником не менее достоверным, чем письма, дневники или мемуары. Благодаря портрету можно составить представление о чертах характера изображенного, его вкусах, манерах и даже о неуловимых на первый взгляд порывах его души.

Стиль многих выдающихся художников-портретистов глубоко индивидуален. Так Ф.С. Рокотова на полотне удаётся искусно передать внутренний мир героя, его неповторимую личность, внешность, которой является лишь слабым отражением богатства души. Художник словно утаивает внутренний мир героя от нескромных взоров зрителей.

Рокотов был мастером огромного дарования, его художественная манера отличается особой поэтичностью. При этом все средства выразительности подчиняются четкому композиционному и колористическому замыслу. В своих полотнах мастер утверждает национальную специфику русского классицизма, суть которой — в высоком гуманизме и глубокой психологичности при сохранении четкости выражения мысли и строгости форм.