{# Course schema: this is what turns a blue link into a result that shows the provider and the level. Only facts that are actually true go in here. #}
ExpoCoder Sign in Start free

Object-Oriented Programming

Master OOP in Python: classes, objects, inheritance, polymorphism, encapsulation, abstraction, magic methods, SOLID and design patterns, then build a real system.

19 lessons about 6 hours Medium
Learn it by writing it.

Every lesson runs real code in your browser, checked the moment you submit. No installing anything, no setup, no waiting.

Start Object-Oriented Programming free

What this course covers

  1. Why Object-Oriented Programming?
  2. Object Identity, Instance Dicts, and the Lookup Chain
  3. The __init__ Constructor
  4. Methods and self
  5. Encapsulation
  6. Properties (getters and setters)
  7. Descriptors: the Magic Behind @property
  8. Class vs Instance Attributes
  9. Class Methods and Static Methods
  10. MRO, Diamond Problem, and Cooperative super()
  11. Polymorphism
  12. Abstraction with ABC
  13. Advanced Dunder Methods: call, getattr, slots, Context Managers
  14. Composition vs Inheritance
  15. Dataclasses
  16. Custom Exception Classes
  17. The SOLID Principles
  18. Common Design Patterns
  19. Capstone: Build a System

Other courses

Computational Thinking

Learn to think like a problem-solver before you write a single line of code. Break big …

Basic Python

Your first Python course, no experience needed. Learn variables, loops, functions, and …

Intermediate Python

Level up your Python with comprehensions, lambdas, error handling, files, modules, and …

Advanced Python

Go deeper in Python: decorators, generators, type hints, regex, JSON, SQLite, testing, …

Data Structures & Algorithms

Core CS: arrays, lists, stacks, queues, hash tables, trees, graphs, sorting, searching,…

Games with Pygame

Build your own 2D games from scratch: the game loop, sprites, movement, collisions, and…

Java

Learn Java from zero, with no programming background needed. Write your first program, …

C++

Learn C++ from zero, with no programming background needed. Start with your first progr…

C

Learn C from zero, with no programming background needed. The language that Unix, Linux…

JavaScript

Learn JavaScript from scratch: variables, types, loops, functions, arrays and objects, …

Web Frontend

Build for the browser: structure pages with HTML, style them with CSS, then use live AP…

Full-Stack Web

Put Python behind the browser: Flask routes, forms, APIs, the requests library, and ful…

See all courses