86 lines
2.0 KiB
C#
86 lines
2.0 KiB
C#
using System;
|
||
|
||
/*
|
||
* конструктор класса - это специальный метод класса, который вызывается при создании объекта такого класса (new)
|
||
*
|
||
* конструктор по умолчанию
|
||
*/
|
||
class Point
|
||
{
|
||
public Point(int x, int y)
|
||
{
|
||
_x = x;
|
||
_y = y;
|
||
}
|
||
|
||
private int _x;
|
||
private int _y;
|
||
|
||
public void Print()
|
||
{
|
||
Console.WriteLine($"X: {_x} \t Y: {_y}");
|
||
}
|
||
}
|
||
|
||
class Gun
|
||
{
|
||
/// <summary>
|
||
/// конструктор без параметров
|
||
///
|
||
/// ctor - конструктор по умолчанию
|
||
/// конструктор - тоже метод класса но только специальный, всегда public
|
||
/// можно выставить что сделать по умолчанию
|
||
/// </summary>
|
||
public Gun()
|
||
{
|
||
_isLoaded = true;
|
||
}
|
||
|
||
/// <summary>
|
||
/// конструктор с параметрами
|
||
/// </summary>
|
||
/// <param name="isLoaded">#</param>
|
||
public Gun(bool isLoaded)
|
||
{
|
||
this._isLoaded = isLoaded;
|
||
}
|
||
|
||
private bool _isLoaded;
|
||
|
||
/// <summary>
|
||
/// Поведение
|
||
/// </summary>
|
||
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()
|
||
{
|
||
//new - конструктор по умолчанию (спец метод для создания объекта класса)
|
||
var gun = new Gun(isLoaded: true);
|
||
gun.Shot();
|
||
Point point = new Point(1, 3);
|
||
point.Print();
|
||
Console.ReadKey();
|
||
}
|
||
} |