📘 Lesson Plan: Introduction to Object-Oriented Programming (OOP) in Python
🎯 Learning Objectives
By the end of this lesson, students will be able to:
-
Understand the core concepts of OOP: Classes, Objects, Encapsulation, Inheritance, Polymorphism, and Abstraction.
-
Write Python classes and instantiate objects.
-
Use inheritance and method overriding to create reusable and extensible code.
-
Apply encapsulation using private variables and getter/setter methods.
-
Recognize and apply abstraction using abstract base classes.
🧠 Key Concepts & Examples
1. Classes and Objects
-
Class: A blueprint for creating objects.
-
Object: An instance of a class.
Example:
2. Encapsulation
-
Protects internal state by making attributes private and providing public methods to access or modify them.
Example:
3. Inheritance
-
A class can inherit methods and properties from another class.
Example:
4. Polymorphism
-
Different classes can implement the same method differently.
Example (method overriding):
5. Abstraction
-
Hides complex implementation and exposes only what’s necessary.
Example:
🏁 Assignment
Create a class Person
with the following:
-
Attributes:
name
andage
-
Method:
introduce()
that prints:"Hi, I'm {name} and I'm {age} years old."
Create a subclass Student
that:
-
Inherits from
Person
-
Adds an attribute:
school
-
Overrides
introduce()
to print:"Hi, I'm {name}, I'm {age} years old and I study at ."
Expected Usage
✅ Answer Key
🔁 Recap
-
Class & Object: Template and instance.
-
Encapsulation: Protect internal state.
-
Inheritance: Reuse code from base classes.
-
Polymorphism: Different classes share interface but act differently.
-
Abstraction: Hide complexity using interfaces or base classes.