theme changed
This commit is contained in:
55
labs/lab8/MyClass/Item.cs
Normal file
55
labs/lab8/MyClass/Item.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
|
||||
abstract class Item : IComparable
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
int IComparable.CompareTo(object obj)
|
||||
{
|
||||
Item it = (Item)obj;
|
||||
if (this.invNumber == it.invNumber) return 0;
|
||||
else if (this.invNumber > it.invNumber) return 1;
|
||||
else return -1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user