
Define a class as a blueprint for a user defined data type, and create objects as instances to store student data, including roll number, name parts, and course.
Demonstrate defining and accessing static and instance variables in Python, using a class with a constructor, and show shared static values across objects.
Learn how to implement static and non-static (instance) members with an employee class, using per employee attributes and a shared total employees counter, plus displaying details.
Explore inheritance in Python by defining a salesman class that inherits from an employee base class, using super to initialize base attributes, and overriding methods to reveal commission details.
Explore method overriding in Python by redefining a base class method in a derived class with super, and extend the salesman details while reusing base behavior.
Learn how to use abstract classes and abstract methods in Python 3, when you can't instantiate an abstract class, and enforce implementation in derived classes via inheritance.
Learn how to enable operator overloading for user defined objects in Python by implementing special methods like __add__ and __lt__ in a Point class, plus __str__ for display.
Explore inheritance and composition in Python to build extensible object oriented programs, using is-a and has-a relationships, with an employee management system including payroll and performance management.
Explore Python inheritance by contrasting default object inheritance with explicit base class usage and demonstrate a custom exception that inherits from Exception and uses super to pass a message.
Explore how method resolution order governs the search path in Python, addressing the diamond problem in multiple inheritance and guiding re-architecting class hierarchies for robust design.
apply the open closed principle to extend software without modifying existing code, keeping it open for extension but closed for modifications, using inheritance or dependency injection, and abstract loggers.
Explore the open closed principle in Python by implementing a logger that writes errors to a text file and a SQLite database, and extend with a cloud logger via subclassing.
Demonstrate dependency inversion by injecting authentication implementations via abstractions, using a service.json config to swap fake and db services without tight coupling.
Explore applying solid design principles in object oriented programming with Python through a practical employee management system case study.
In this course you will understand in detail about Object Oriented Programming with Python. The Students who thinks Object Oriented Programming is very complex to understand and also to code after completing this course I can guarantee that you won't be saying OOPs!.. Object Oriented Programming is complex, instead you feel that you are enjoying APIE.
In this course i have explained in detail about the 4 pillars of Object Oriented Programming in detail with multiple demos to understand the concept better.
The second module of this course will be a complete Case Study on Object Oriented Programming in Python by developing an sample application for Employee Management System.
The Third module of this course will explain the SOLID Design Principles implementation using Python, I have explained Single Responsibility Principle (SRP), Open Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP) and Dependency Inversion Principle (DIP)
I can guarantee you that you won't be finding a better course to understand and master Object Oriented Programming with Python and also for Understanding SOLID Design Principles with Python.
I hope you will enjoy the journey of learning Object Oriented Programming with Python along with me.
See you in this course.