48 lines
812 B
C#
48 lines
812 B
C#
using System;
|
|
|
|
abstract class Item
|
|
{
|
|
protected long invNumber;
|
|
protected bool taken;
|
|
|
|
public Item(long invNumber, bool taken)
|
|
{
|
|
this.invNumber = invNumber;
|
|
this.taken = taken;
|
|
}
|
|
|
|
public Item()
|
|
{
|
|
this.taken = true;
|
|
}
|
|
|
|
public bool IsAvailable()
|
|
{
|
|
return taken;
|
|
}
|
|
|
|
public long GetInvNumber()
|
|
{
|
|
return invNumber;
|
|
}
|
|
|
|
private void Take()
|
|
{
|
|
taken = false;
|
|
}
|
|
|
|
public void TakeItem()
|
|
{
|
|
if (this.IsAvailable())
|
|
this.Take();
|
|
}
|
|
|
|
|
|
abstract public void Return();
|
|
|
|
public virtual void Show()
|
|
{
|
|
Console.WriteLine("Состояние единицы хранения:\n Инвентарный номер: {0}\n Наличие: {1}", invNumber, taken);
|
|
}
|
|
}
|