Everything you need to develop great object oriented software. Classes, objects, polymorphism, SOLID, Design Patterns...