In the past couple of weeks of the CSC148 course, I have come to a conclusion in python that helped me better understand the concept of object-orientation. Whenever I am asked to create a function that involves the iterations of some random variable, the whole program itself is centred strictly on using an object (an integer for example) which carries out a set of various tasks to achieve a certain outcome. However, some more complex programs, ones in which we have been working on with the introduction to Classes in python, involve a broader use of objects. For example, we would have multiple variables that would be created by the user, and then manipulated to perform whatever action it is that we want it to do. Just about everything we do in object-oriented programming uses objects as place holders for information that we can change, recreate, or delete altogether. This is what makes this kind of programming so interesting to me. Generally speaking, I can make a program to do just about anything that I want it to do, in a way that I can always come back and change specific information in the program at any time I want. We can choose if our objects are to be static or dynamic. This is the kind of flexibility that I love in programming.
So far, we learned how to create a superclass and a subclass, and how these two interact with each other. I enjoyed learning about how I can add on to my current class without altering the original class in any way. Although the first tutorial this semester was very hard in relation to the past tutorials in my CSC108 course last semester, it seems to have prepared myself for the second tutorial, which I found to be much easier. The first exercise proved to be not all that challenging in my opinion, which brought up my confidence in this course so far. If there is anything that I am currently not so sure about it would be recursion, which may be something that I would have to spend time on to get used to it. In general, I am beginning to get the hang of classes in python, and the depth to which I can create a program to do whatever it is that I want it to do.