1/25
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Abstraction
The practice of reducing complexity by hiding unnecessary details in programming.
Procedural Abstraction
Breaking a large program into smaller, manageable methods where the user only knows inputs and expected results.
Data Abstraction
Hiding how data is stored and structured within a class, allowing interaction through specific methods.
Top-Down Design
A design approach that starts with a broad overview of the system and breaks it down into smaller sub-components.
Bottom-Up Design
A design approach that begins by writing specific, low-level modules and assembling them into a larger system.
Cohesion
How closely the responsibilities within a single class are related, aiming for high cohesion.
Coupling
The degree of dependency between different classes, aiming for low coupling.
High Cohesion
A design principle where a class represents a single concept with closely related responsibilities.
Low Coupling
A design principle where classes act independently of each other, minimizing dependencies.
Class
A blueprint from which individual objects (instances) are created, defining state and behavior.
Encapsulation
A key rule where instance variables in a class should be private to prevent direct access from outside.
Constructor
A special block of code used to initialize an object, which must match the class name and has no return type.
Overloading Constructors
Having multiple constructors with different parameter lists to initialize objects in various ways.
Accessor (Getter)
A method that returns the value of a private instance variable, allowing read-only access.
Mutator (Setter)
A method that updates the value of an instance variable, allowing logic (like validation) before changing data.
Public Instance Variables
A pitfall where instance variables are declared public, violating encapsulation.
Constructor Return Types
Mistake of adding a return type to a constructor, causing the object to not initialize correctly.
Variable Shadowing
A mistake of using a local variable with the same name as an instance variable, causing confusion.
Static vs. Instance Confusion
Mistake of making variables static when they should be unique to each object.
Spaghetti Code
A term for poorly designed code that is complex and tangled, making it hard to maintain.
Stepwise Refinement
The process used in top-down design where a complex problem is broken down into simpler parts.
Interfaces (in Design)
Defined interactions between classes that allow for clear communication in program design.
Object-Oriented Paradigm
A programming paradigm based on the concept of objects, which can contain data and methods.
Fuel Level in Spaceship Example
An instance variable representing the state of a spaceship regarding how much fuel it has.
Data Validation
Logic to ensure data meets certain criteria before being accepted or processed.
Method Invocation
The process of calling a method on an object to perform a specific action.