0:00 - What is the purpose and intuition of object-oriented programming?
1:14 - Example of modeling a type of object by thinking of its attributes.
5:12 - Defining a Class with a class definition and its attributes.
6:50 - Defining the attributes of a class in Python using type annotations.
8:18 - Constructing a new object from a class definition.
9:31 - Assigning attribute values to objects in Python
12:00 - Printing a class, an object, and an attribute
13:35 - How are classes and objects represented in a memory / environment diagrams?
16:14 - The dot operator used to access attribute values of an object
19:21 - How to write a function with a parameter whose type is a class
21:35 - Calling a function with an object as an argument
22:45 - Passing a reference to an object in a function call in a memory diagram
23:35 - Benefits of objects as bundles of related variables when calling functions
25:07 - Defining new capabilities of a class with a method definition
28:45 - Writing a method call in Python given an object variable
30:00 - What happens when a method is called in Python? What is self bound to?
32:14 - Diagramming a method call in a memory / environment diagram with the self parameter
35:15 - Where does object-oriented programming get its name?
36:37 - How do you add parameters to a method? How do you call a method with arguments?
39:07 - Initializing default values for attributes of an object without a constructor
41:30 - Why have a constructor and how do you define the __init__ method/constructor?
45:00 - What happens when constructing an object whose class defines an __init__ constructor?
47:48 - Calling the same method on two different objects can return two different values.
48:50 - Diagramming an __init__ constructor call in a memory / heap diagram
51:57 - What is returned from a constructor / __init__ call?
52:48 - What is the purpose of a constructor or __init__ method in Python?
53:33 - Review of important object-oriented programming concept fundamentals
0 Comments