1/51
Flashcards on key vocabulary and concepts related to Object-Oriented Programming.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Object-Oriented Programming (OOP)
A style of programming focused on the use of classes and class hierarchies.
Polymorphism
The provision of a single interface to multiple subclasses, enabling the same method call to invoke different subclass methods to generate different results.
Inheritance
Reuse and extension of fields and method implementations from another class.
Encapsulation
Bundling data and code into a restricted container.
Abstraction
Specifying a general interface while hiding implementation details.
Primitive type
A data type that can typically be handled directly by the underlying hardware.
Enumerated type
A data type that includes a fixed set of constant values called enumerators.
Class
A template encapsulating data and code that manipulates it.
Instance
An encapsulated bundle of data and code; for example, an instance of a program is a process, and an instance of a class is an object.
Object
An instance of a class containing a set of encapsulated data and associated methods.
Variable
A block of memory associated with a symbolic name that contains a primitive data value or the address of an object instance.
Field
A class member variable, also called an "attribute" or "class variable."
Constructor
A special class member that creates and initializes an object from the class.
Destructor
A special class member that cleans up when an object is deleted.
Method
A function that manipulates data in a class, also called a "class function."
Friend
A class or a function that is granted access to its friend class’ private class members.
Operator Overloading
Providing a user-defined meaning to a pre-defined operator for a user-defined type.
Getter
A method that returns the value of a private field.
Setter
A method that changes the value of a private field.
Multiple Inheritance
A subclass inheriting class members from two or more superclasses.
Superclass
The class from which members are inherited.
Subclass
The class inheriting members.
Abstract Class
A class that cannot be instantiated.
Abstract Method
A method declared with no implementation.
Override
A subclass replacing its superclass’ implementation of a virtual method.
Namespace
A named scope.
Declaration
A statement that introduces a name with an associated type into a scope.
Definition
A declaration that also fully specifies the entity declared.
Shadowing
A variable declared in a narrower scope than that of a variable of the same name declared in a broader scope.
Stack
Scratch memory for a thread of execution.
Heap
Memory shared by all threads of execution for dynamic allocation.
Global
Memory for static fields and non-scoped variables.
Code
Read-only memory for machine instructions.
Generic Programming
Writing algorithms in terms of types that are specified as parameters during instantiation or invocation.
Template
A C++ construct representing a class, method, or function in terms of generic types.
Standard Template Library
A library of well-implemented algorithms focused on organizing code and data as C++ templates.
Container
An object that stores and manages other objects.
Algorithm
A procedure for solving a specific problem, expressed as an ordered set of actions.
Iterator
A pointer-like standard library abstraction for objects referring to elements of a container.
Exception
An object created to represent an error or other unusual occurrence.
Assertion
An expression that, if false, indicates a program error.
Invariant
Code for which specified assertions are guaranteed to be true.
Data Validation
Ensuring that a program operates on clean, correct, and useful data.
Validation Rules
Algorithmically enforceable constraints on the correctness, meaningfulness, and security of input data.
Version Control
The task of keeping a system consisting of many versions well organized.
Branch
A second distinct development path within the same version control system.
Fork
A second distinct and independent development path to create a unique product.
Baseline
A reference point in a version control system indicating completion and approval of a product release.
Unified Modeling Language (UML)
The standard visual modeling language used to describe, specify, design, and document the structure and behavior of object-oriented systems.
Class Hierarchy
Defines the inheritance relationships between a set of classes.
Class Library
A collection of classes designed to be used together efficiently.
Principle of Least Astonishment
A user interface component should behave as the users expect it to behave.