1/53
Looks like no tags are added yet.
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
(not on this exam)
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 (sometimes listed as a 4th fundamental concept of OOP, though I believe it's common to most paradigms)
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
Interface
A reference type containing only method signatures, default methods, static methods, constants, and nested types
Instance
An encapsulated bundle of data and code (e.g., an instance of a program is a process; 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
Operator
A short string representing a mathematical, logical, or machine control action
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 (not supported by Java)
Method
A function that manipulates data in a class (also called a "class function")
Getter
A method that returns the value of a private variable
Setter
A method that changes the value of a private variable
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 method
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
Namespace
A named scope
Package
A grouping of related types providing access protection and namespace management
Algorithm
A procedure for solving a specific problem, expressed as an ordered set of actions
Exception
An object created to represent an error or other unusual occurrence and then propagated via special mechanisms until caught by special handling code
Assertion
An expression that, if false, indicates a program error (in Java, via the assert keyword)
Invariant
Code for which specified assertions are guaranteed to be true (often, a class in which fields cannot change after instantiation)
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 organization and often within the same version control system
Fork
A second distinct and independent development path undertaken (often by a different organization) to create a unique product
Baseline
A reference point in a version control system, usually indicating completion and approval of a product release and sometimes used to support a fork
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
implements UML
Dashed line with a hollow triangle arrowhead pointing to the interface. type of inheritance.
Relationship - Directed association
Association (solid line) with an arrow to show navigability (one class knows about the other).
Relationship - Dependency
dashed line, solid arrow. (java.util.ArrayList)
External Type Dependency (java.util.__ usually)
Dashed line closed arrow to depednancy
Relationship - Association
Plain solid line between classes showing a semantic connection; can have role names and multiplicities (e.g., 1..*).
Relationship - Aggregation
hollow diamond at bigger part. Parts can outlive the whole.