#100DaysOfCode in Python Transcripts
Chapter: Appendix: Python language concepts
Lecture: Concept: objects vs. classes
0:01 When you are new to object-oriented programming, the idea of classes and objects often can seem interchangeable
0:08 and some people use them interchangeably; that's not really correct and so let's take just a moment and really clarify the relationship
0:16 and differences between classes and objects. So here we have a Creature class, you can it has an initializer and a walk method,
0:24 and notice that the walk method does something different if the creature is powerful, if its power is greater than 10 versus if it's lower.
0:31 This class is a blueprint for creating creatures. We could create a squirrel, we could create a dragon,
0:38 we could create a tiger, and those would all be specific objects or instances of the Creature class.
0:44 So down here we’re going to create a squirrel and a dragon, and notice the squirrel is created with power 7, the dragon is created with power 50.
0:51 Now these are both creatures, but they are now distinct things in memory.
0:56 Objects are created via classes and the squirrel object is somewhere in memory
1:01 and it has a power 7 and it has this walk behavior it gets from its class, but all of its variables are specific to it.
1:08 We have also the dragon creature, with its own variables, so it's power is 50 and if we change its power, it won't change the squirrel
1:14 or any other creature, just the dragon. And when we call squirrel.walk(), the squirrel is going to walk in some specific way based on its own power.
1:23 So you can see the Creature class test is a power greater than 10 or less than 10 and if it's greater than 10, it does something special,
1:30 maybe it walks in a powerful way versus a non-powerful way, who knows, but that will mean the squirrel walks in one way
1:36 and the dragon walks in another way, even though they are both instances of the Creature class.
1:41 So I hope that clears up the relationship between classes and objects.