Object oriented programming

Tenants

Concepts

  • static: non-access modifier that indicates something belongs to the class instead of an instance (accessible across instances)
  • private: Only accessible within the class where its been defined, not inherited
  • protected: Only accessible within the class where its been defined, but it can be inherited
  • Interface: Implements the public API for something (like in Typescript)
  • abstract: A class that cannot be instantiated directly. You want to extend these to normal classes