Software Carpentry
Object-Oriented Programming


Introduction


Objects to the Rescue


You Can Skip This Lecture If...


Abstract Data Types


Classes and Instances


Defining a Class


Creating an Instance


Methods


Creating Members


Encapsulation


Constructors


Constructor Style


Special Methods


New Classes from Old


Inheritance Example


Overriding Methods


Polymorphism


Duck Typing


The Liskov Substitution Principle


Tidal Pools Revisited


Class, Responsibility, Collaborator


Summary