https://www.bemyaficionado.com/object-oriented-programming-oops/
How to Start Thinking In OOPs (Object Oriented Programming) to Become the Best Programmer You Ever Wanted