My relative is studying programming and has a hard time understanding classes. He has trouble understanding for example that you need to instantiate it, that methods cannot access variables in other methods and if you change a variable in one instance of a class it doesn’t change for other instances.
I’ve tried to use analogies like a class definition is like a blueprint of a house. And instances are houses made from that blueprint.
How do you explain classes and OO in general?
Seriously use Animals, it works great. And that’s what nailed the concept for me years ago. Just found this C# code. It seems good
And once he’s got this nailed, you challenge him to define Bird (fly), and then Penguin (fly!?)