generated from mwc/quicksheet_oop
16 lines
919 B
Markdown
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
|