Object Oriented Programming is the process of defining classes and creating objects to represent the responsibilities of a program.
The way you go about creating an object from a class is similar how you would create a home from a blue print. When an object is created, your program asks the operating system for resources, namely memory, to be able to construct the object. On the other hand, when a house is made from a blue print, the contractor will ask what kind of wood, windows, and doors will be use in order to build the home.
Instantiation - breathes 💨 life into a class
When creating an object from a class you will need to instantiate (create) it. What this is doing is asking the operating system to give enough memory to create an object.
To instantiate an object, you add the name of the class followed by parentheses.
class House: house = House()
- 'house' is the variable that holds you object's instance.
- 'House()' is the instantiated object.
Adding attributes to a class
To add attributes to a class you will need to tell the class what attributes it should have at construction time, when an object in instantiated. This is done by a function called a 'constructor' that is used at the moment of creation.
In Python, the constructor has the name
__init__method lets the class initialize the object's attributes. ( This is only used within classes )
You will need to pass a special parameter
self to the constructor. (
self refers to the objects instance this binds the objects attributes to the arguments received). Any assignment to this keywork ends up on the object instance.
class Car: def __init__(self): self.make = "Audi" self.model = "A4" car = Car() print(car.make) print(car.model) print("Is your car make", car.make, "and model", car.model)
This example shows a class
Car with two attributes, the
model, are assigned to the constructor