Most modern programming languages, such as Java, C#, Ruby, and Python, are object-oriented languages, which help group individual bits of code into a complex and coherent application. However, object-orientation itself is not a language; it's simply a set of ideas and concepts.
Topics include:
Why use object-oriented design (OOD)?
Pinpointing use cases, actors, and scenarios
Identifying class responsibilities and relationships
Creating class diagrams
Using abstract classes
Working with inheritance
Creating advanced UML diagrams
Understanding object-oriented design principles