quicksheet_oop/assessment.md

919 B

Object Oriented Programming Quicksheet Assessment

Andrew,

There are so many metaphors for OOP--I like how you describe it as blueprints. Expanding on your (Python-specific) note about the __init__ constructor, you might be interested to learn about all the other magic methods in Python classes. Basically all the built-in Python operators can be defined with custom implementations, giving rise to idiomatic stuff like pathlib.Path overriding the / division operator to mean "concatenate file path." In your future teaching, I encourage you to help students understand not just what OOP is, but the niche that OOP occupies as a problem-solving strategy, and how it can be composed with other strategies. I'm not sure I quite agree with "OOP is better suited for more complex problems;" there are plenty of folks who would argue just the opposite :)

-Chris