intermediateOOP

Classes & Objects

Object-Oriented Programming: define classes, create objects, and manage state.

01Defining a Class

Classes are blueprints for objects. They bundle data (attributes) and behavior (methods).

Python
1class Dog:
2 def __init__(self, name, breed):
3 self.name = name
4 self.breed = breed
5
6 def bark(self):
7 return f"{self.name} says Woof!"
8
9 def __str__(self):
10 return f"{self.name} ({self.breed})"
11
12rex = Dog("Rex", "German Shepherd")
13print(rex.bark())
14print(rex)
Output
Rex says Woof!
Rex (German Shepherd)

02Instance vs Class Variables

Instance variables are unique to each object; class variables are shared across all instances.

Python
1class Employee:
2 company = "TechCorp" # class variable
3
4 def __init__(self, name, salary):
5 self.name = name # instance variable
6 self.salary = salary
7
8emp1 = Employee("Alice", 80000)
9emp2 = Employee("Bob", 90000)
10
11print(emp1.company) # TechCorp
12print(emp2.company) # TechCorp
13print(emp1.salary) # 80000
Output
TechCorp
TechCorp
80000