/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 02:47:11
* Version: 1.0.3
*/
using System;
/*
* Инкапсуляция
*/
class Gun
{
///
/// Cостояние
///
private bool isLoaded;
///
/// Поведение
/// Инкапсуляция - скрываем состояние объекта - защищаем от внешнего мира
/// и даём возможность изменить состояние только с помощью этого же объекта
///
/// Cпособ правильно организовать поведение(работу объекта через методы)
///
private void Reload()
{
Console.WriteLine("Заряжаю...");
isLoaded = true;
Console.WriteLine("Заряжено!");
}
public void Shot()
{
if (!isLoaded)
{
Console.WriteLine("Орудие не заряжено!");
Reload();
}
Console.WriteLine("Пыщ - Пыщ!\n");
isLoaded = false;
}
}
class Program
{
static void Main()
{
Gun gun = new Gun();
gun.Shot();
Console.ReadKey();
}
}