Software Engineering Flashcards
Abstract Class
Intentionally incomplete class definition; has some members declared ‘abstract’ and children must implement them; objects cannot be created
Encapsulation
Implementation should be completely separate from the interface
Child Class
A class that extends another class
Aggregation
has-a relationship; contained object can survive without the container
Immutable
A value that cannot be changed
Inheritence
Ability of a class to duplicate its parent’s members
Instance
An object that has been created from a class
Interface
Supplies definition for methods - kind of like a .h file
Composition
is-a relationship; contained object cannot survive without the container
Polymorphism
Allows a child class to be used anywhere a method requires the parent class
Private
Only the class itself can read/write
Protected
Only the class itself and children can read/write
Public
Anything can read/write
Uses-A
Relationship between objects that call methods and use member variables of other objects
Object Based vs Object Oriented
Object based has no inheritence
Association
One object uses another but does not own it
Virtual member
Expected to be implemented in subclasses
Function Overloading vs Overriding
Overloading has different parameters, Overriding has same signature but different implementation
Priority inversion
Medium priority task preempts a high priority task
Hash Table
Use a mathematical function to take the key and transform it to the domain of an array; resolve collisions by Chaining or OpenAddressing (use an array and fill in empties nearby)
Linked List
Elements chained together using pointers
Queue
Uses a linked list, FIFO