An example of abstract classes

http://pastebin.com/yR2jsnDF