Classes can inherit properties/methods from other classes.
Inheritance
Retrieves data.
SELECT
Uploads commits to the remote repo
GIT PUSH
Local version control system
GIT
Test individual components
Unit Testing
Favor combining simple objects over relying on inheritance.
Composition over Inheritance
Combines rows from two or more tables
JOIN
Merges different branches
Git merge
Cloud-based hosting for Git repositories
GitHub
Ensure the system meets requirements
Acceptance Testing
Ability to process objects differently based on their type.
Polymorphism
Removes data
DELETE
Fetches and merges changes from remote
git pull
stored on your machine
local repository
Test combined components
Integration Testing
Hiding internal state and requiring all interaction to be performed through methods
Encapsulation
Modifies existing data
UPDATE
Commits staged changes
git commit
Stored on a server like GitHub
Remote repository
Performed by humans without automation
Manual Testing
Hiding complex implementation details.
Abstraction
Uniquely identifies each record
Primary Key
stages all changes
git add .
Files ready to be committed
Staging area
Validate the complete and integrated system
System Testing