Abstract classes
@Tariiq: Python is totally different to Java. There is no such thing as abstract classes and interfaces. And you probably won't miss them. You can use normal classes instead, but need inheritance much less than with java. Don't try to write java-code with python-syntax, learn python as something totally new.