Index of object-oriented programming articles

This is a list of terms found in object-oriented programming.

A

 * Abstract class
 * Accessibility
 * Abstract method
 * Abstraction (computer science)
 * Access control
 * Access modifiers
 * Accessor method
 * Adapter pattern
 * Aspect-oriented

B

 * Bridge pattern
 * Builder pattern
 * Base class

C

 * Cast
 * Chain-of-responsibility pattern
 * Class
 * Class hierarchy
 * Class method
 * Class object
 * Class variable
 * Cohesion
 * Collection class
 * Composition
 * Constructor
 * Container (abstract data type)
 * Contravariance
 * Copy constructor
 * Coupling
 * Covariance

D

 * Data-driven design
 * Data hiding
 * Default constructor
 * Deep copy
 * Delegation
 * Dependency injection
 * Destructor
 * Dispatch table
 * Dynamic binding
 * Dynamic dispatch
 * Dynamically typed language

E

 * Early binding
 * Eigenclass
 * Encapsulation (computer programming)
 * European Conference on Object-Oriented Programming
 * Exception handling
 * Extension

F

 * Facade - pattern
 * Factory method pattern
 * Factory object
 * Factory pattern
 * Field
 * Finalizer
 * First-class function
 * Fragile base class
 * Function composition

G

 * Generic programming
 * God object

H

 * Heap-based memory allocation
 * Helper class
 * Hybrid language

I

 * Immutable object (also called immutable value)
 * Information hiding
 * Inheritance
 * Initialize
 * Inline function
 * Inner class
 * Instance (computer science)
 * Instance method
 * Instance variable (also called data member)
 * Interaction diagram
 * Interface
 * Inversion of control (IoC)
 * Iterator

L

 * Late binding
 * Liskov substitution principle

M

 * Member accessibility
 * Members, any contents of a class: Attributes, Methods, and Inner classes
 * Message passing
 * Metaclass
 * Metaprogramming
 * Method (computer programming)
 * Mixin
 * Mock object
 * Model–view–controller (MVC)
 * Modular programming
 * Multiple dispatch
 * Multiple inheritance
 * Multitier architecture
 * Mutable variable
 * Mutator method

N

 * Name mangling
 * Namespace
 * Native method
 * Nested class

O

 * Object (computer science)
 * Object type
 * OOPSLA – annual conference on Object-Oriented Programming, Systems, Languages, and Applications
 * Open/closed principle
 * Orthogonality
 * Overload

P

 * Package
 * Parametric overloading
 * Parameterized classes
 * Parnas's principles
 * Partial class
 * Patterns
 * Policy-based design
 * Polymorphic
 * Primitive data type
 * , a way of encapsulation in object-oriented programming
 * Programming paradigm
 * , a way of encapsulation in object-oriented programming
 * Protocol
 * Prototype pattern
 * Prototype-based programming
 * , a way of encapsulation in object-oriented programming
 * Pure polymorphism
 * Pure virtual function (also called pure virtual method)

R

 * Rapid application development (sometimes Rapid prototyping)
 * Recursion
 * Refinement
 * Reflection
 * Responsibility-driven design
 * Reverse polymorphism
 * Run-time type information

S

 * Scope
 * Shallow copy, as opposed to deep copy
 * Single responsibility principle
 * Singleton pattern
 * Singly rooted hierarchy
 * Slicing
 * Specification class, a class implementing abstract class
 * Stack-based memory allocation
 * Static method
 * Statically typed language, as opposed to Dynamically typed language
 * Strongly-typed programming language
 * Subclass (also called child class or derived class)
 * Subclass coupling
 * SOLID
 * Substitutability, principle of
 * Subtype
 * Superclass (also called parent class or base class)

T

 * Tiers
 * Template method pattern
 * Test-driven development
 * Trait
 * Type
 * Type conversion (also called typecasting)

V

 * Virtual class
 * Virtual function (also called virtual method)
 * Virtual function pointer (also called virtual method pointer)
 * Virtual inheritance (Object Oriented Programming)
 * Virtual method table (also called vtable, virtual function table or virtual method table)
 * Viscosity (programming)
 * Void type

W

 * Weak reference

Y

 * Yo-yo problem