

Your "AHA" moment for OOD - on_a_quest

I've been wondering this since reading the past HN submission 'Goodbye, shitty Car extends Vehicle object-orientation tutorial' and comments (especially the comments by fleitz).<p>What led to the moment where you felt like you really understood object oriented design? I mean that you grokked modeling concerns and abstraction the way I think most great software engineers do, not something like your typical 'Car extends Vehicle'.
======
jakejake
Starting right away with inheritance had always confused it for me, I still
feel like it's a terrible way to introduce OOD. Also the fact that people
sometimes refer to both classes and instances as "objects" I think is what
confused me the most at first. The idea of a cookie cutter (class) vs a cookie
(instance) is what made the most sense to me. I don't know if I had a specific
aha moment, but that's what did it for me.

------
earlz
When I began using OOP outside of examples. Things like "MyView" extends from
"BaseView" which goes on to extend from "OutputStream" or something like that.
And then being able to choose any point in the inheritance tree to create a
list to store objects that are exactly as specific as you need them.

------
Goopplesoft
Inheritance. So many cool things can be done with it however it can be the
recipe for sloppy code as well.

