quicksheet_oop/assessment.md

16 lines
919 B
Markdown

# 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](https://rszalski.github.io/magicmethods/). 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