1/23
These flashcards cover the key concepts, definitions, and mechanisms related to Object-Oriented Programming as outlined in Chapter 12 of Robert W. Sebesta's book.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
Object-Oriented Programming (OOP)
A programming paradigm based on the concept of objects, which can contain data and code to manipulate that data.
Inheritance
A mechanism in OOP that allows one class to inherit the properties and behaviors (methods) of another class.
Polymorphism
The ability of different classes to be treated as instances of the same class through a common interface.
Abstract Data Types (ADTs)
Data types defined by their behavior (semantics) from the point of view of a user, rather than by their implementation.
Dynamic Binding
A programming mechanism that resolves method calls at runtime rather than at compile time, allowing for flexible method resolution.
Subclass
A derived class that inherits properties and methods from a parent class.
Superclass
The parent class from which properties and methods are inherited by a subclass.
Message Protocol
The entire collection of methods an object can respond to, composed of method names and the associated destination object.
Encapsulation
The bundling of data and the methods that operate on that data, restricting direct access to some of an object's components.
Access Control
Mechanisms that restrict access to certain entities within a class, categorized as public, private, or protected.
Reflection
A feature that allows a program to inspect and modify its own structure and behavior at runtime.
Single Inheritance
A class inheritance approach where a class can inherit from only one parent class.
Multiple Inheritance
A class inheritance model where a class can inherit from more than one parent class.
Inner Class
A class defined within the scope of another class, which can access the members of the outer class.
Message Sending
The process of invoking a method on an object in OOP, allowing an object to communicate with another object.
Instance Variable
A variable defined in a class for which each object of the class has its own copy.
Class Variable
A variable that is shared among all instances of a class.
Abstract Class
A class that cannot be instantiated on its own and is meant to be subclassed.
Constructor
A special method that is called when an object is instantiated, often used to initialize variables.
Destructor
A special method that is called when an object is destroyed, used to free resources or perform cleanup.
Heap-Dynamic Allocation
Memory allocation for objects at runtime that allows objects to be created and destroyed as needed.
Stack-Dynamic Allocation
Memory allocation for objects that are created on the stack, automatically deallocated when out of scope.
Method Overriding
The ability of a subclass to provide a specific implementation of a method that is already defined in its parent class.
Virtual Method
A method in a base class that can be overridden in derived classes and is bound at runtime.