Human john;
Cup cup;
...
if (cup.isEmpty)
{
cup = new Coffee();
}
else
{
john.Drink(cup.Drop());
}