Object Oriented Programming (OOP) Concepts

Has anyone else noticed there seems to be a real lack of quality Object Oriented Programming (OOP) language agnostic materials?

Maybe I just haven’t found the right pages yet, but the web especially seems empty of helpful pages for those who are self-educated programmers.

The goal of this page isn’t to start someone off in programming but to explain for the self-taught programmer the concepts and terminology of OOP.

  • Attributes (or Fields)
  • Classes
    • Abstract
    • Subclasses
    • Superclasses
  • Constructors
  • Contracts
  • Declarations
  • Destructors
  • Encapsulation
  • Hierarchies
  • Inheritance
  • Instances – Synonymous with Objects.
  • Methods
    • Abstract
  • Nouns
  • Objects
  • Parameters
  • Prototype-Based Programming (or Classless Programming, Instance-Based Programming, or Prototype-Oriented Programming)
  • Types
  • Unified Modeling Language (UML)