Skip to content

Instantly share code, notes, and snippets.

@epalm
Created November 8, 2012 21:37
Show Gist options
  • Save epalm/4041846 to your computer and use it in GitHub Desktop.
Save epalm/4041846 to your computer and use it in GitHub Desktop.
inheritance=yes, interfaces=yes
interface IGulpable
{
void Gulp();
}
abstract class Bottle : IGulpable
{
public decimal Volume { get; set; }
public void Gulp()
{
Volume = Volume - 40;
}
}
class CokeBottle : Bottle
{
public CokeBottle()
{
Volume = 355; // mL
}
}
class WaterBottle : Bottle
{
public WaterBottle()
{
Volume = 750; // mL
}
}
class Person
{
public void Drink(IGulpable beverage)
{
beverage.Gulp();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment