So I have struggled with classes and objects but think I’m starting to get it…? As part of a short online class I made a program that asked a few multiple choice questions and returns a score. To do this there are a few parts.
-
Define some inputs as lists of strings ((q, a), (q2, a2),…). The lists contain the questions and answers. This will be used as input and allows an easy way to change questions, add them, whatever.
-
Create a class that takes in the list and creates objects - the objects are a question and it’s answer.
-
Create a new list that uses that class to store the objects.
-
Define a function that iterates over the list full of question/answer objects, and then asks the user the questions and tallies the score.
Number 2 is really what I am wondering about, is that generally what a class and object are? I would use an analogy of a factory being a class. It takes in raw materials (or pre-made parts) and builds them into standard objects. Is this a reasonable analogy of what a class is?
Class is the blueprint of whatever, a house.
Object is a house that’s actually been built using that blueprint. You might have 50 houses (objects) defined by a single blueprint (class).