Object-Oriented Programming Concepts

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/51

flashcard set

Earn XP

Description and Tags

Flashcards on key vocabulary and concepts related to Object-Oriented Programming.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

52 Terms

1
New cards

Object-Oriented Programming (OOP)

A style of programming focused on the use of classes and class hierarchies.

2
New cards

Polymorphism

The provision of a single interface to multiple subclasses, enabling the same method call to invoke different subclass methods to generate different results.

3
New cards

Inheritance

Reuse and extension of fields and method implementations from another class.

4
New cards

Encapsulation

Bundling data and code into a restricted container.

5
New cards

Abstraction

Specifying a general interface while hiding implementation details.

6
New cards

Primitive type

A data type that can typically be handled directly by the underlying hardware.

7
New cards

Enumerated type

A data type that includes a fixed set of constant values called enumerators.

8
New cards

Class

A template encapsulating data and code that manipulates it.

9
New cards

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.

10
New cards

Object

An instance of a class containing a set of encapsulated data and associated methods.

11
New cards

Variable

A block of memory associated with a symbolic name that contains a primitive data value or the address of an object instance.

12
New cards

Field

A class member variable, also called an "attribute" or "class variable."

13
New cards

Constructor

A special class member that creates and initializes an object from the class.

14
New cards

Destructor

A special class member that cleans up when an object is deleted.

15
New cards

Method

A function that manipulates data in a class, also called a "class function."

16
New cards

Friend

A class or a function that is granted access to its friend class’ private class members.

17
New cards

Operator Overloading

Providing a user-defined meaning to a pre-defined operator for a user-defined type.

18
New cards

Getter

A method that returns the value of a private field.

19
New cards

Setter

A method that changes the value of a private field.

20
New cards

Multiple Inheritance

A subclass inheriting class members from two or more superclasses.

21
New cards

Superclass

The class from which members are inherited.

22
New cards

Subclass

The class inheriting members.

23
New cards

Abstract Class

A class that cannot be instantiated.

24
New cards

Abstract Method

A method declared with no implementation.

25
New cards

Override

A subclass replacing its superclass’ implementation of a virtual method.

26
New cards

Namespace

A named scope.

27
New cards

Declaration

A statement that introduces a name with an associated type into a scope.

28
New cards

Definition

A declaration that also fully specifies the entity declared.

29
New cards

Shadowing

A variable declared in a narrower scope than that of a variable of the same name declared in a broader scope.

30
New cards

Stack

Scratch memory for a thread of execution.

31
New cards

Heap

Memory shared by all threads of execution for dynamic allocation.

32
New cards

Global

Memory for static fields and non-scoped variables.

33
New cards

Code

Read-only memory for machine instructions.

34
New cards

Generic Programming

Writing algorithms in terms of types that are specified as parameters during instantiation or invocation.

35
New cards

Template

A C++ construct representing a class, method, or function in terms of generic types.

36
New cards

Standard Template Library

A library of well-implemented algorithms focused on organizing code and data as C++ templates.

37
New cards

Container

An object that stores and manages other objects.

38
New cards

Algorithm

A procedure for solving a specific problem, expressed as an ordered set of actions.

39
New cards

Iterator

A pointer-like standard library abstraction for objects referring to elements of a container.

40
New cards

Exception

An object created to represent an error or other unusual occurrence.

41
New cards

Assertion

An expression that, if false, indicates a program error.

42
New cards

Invariant

Code for which specified assertions are guaranteed to be true.

43
New cards

Data Validation

Ensuring that a program operates on clean, correct, and useful data.

44
New cards

Validation Rules

Algorithmically enforceable constraints on the correctness, meaningfulness, and security of input data.

45
New cards

Version Control

The task of keeping a system consisting of many versions well organized.

46
New cards

Branch

A second distinct development path within the same version control system.

47
New cards

Fork

A second distinct and independent development path to create a unique product.

48
New cards

Baseline

A reference point in a version control system indicating completion and approval of a product release.

49
New cards

Unified Modeling Language (UML)

The standard visual modeling language used to describe, specify, design, and document the structure and behavior of object-oriented systems.

50
New cards

Class Hierarchy

Defines the inheritance relationships between a set of classes.

51
New cards

Class Library

A collection of classes designed to be used together efficiently.

52
New cards

Principle of Least Astonishment

A user interface component should behave as the users expect it to behave.