Useful Links
Computer Science
Programming
Object-Oriented Programming and Design
1. Introduction to Programming Paradigms
2. Fundamentals of Object-Oriented Programming
3. The Four Pillars of OOP
4. Key Language Constructs and Concepts
5. Relationships Between Classes
6. Principles of Object-Oriented Design
7. Design Patterns
8. Object-Oriented Analysis and Modeling
9. Advanced OOP Topics
Key Language Constructs and Concepts
Constructors
Object Initialization
Purpose of Constructors
Default Constructors
Automatic Generation
Parameterized Constructors
Custom Initialization
Copy Constructors
Cloning Objects
Deep vs Shallow Copy
Destructors and Finalizers
Object Cleanup and Resource Deallocation
Destructor Syntax and Usage
Finalization in Garbage-Collected Languages
Resource Management Patterns
This or Self Reference
Reference to Current Object Instance
Accessing Instance Members
Disambiguating Variable Names
Static vs Instance Members
Static Members
Class-Level Variables and Methods
Shared Data and Behavior
Static Initialization Blocks
Instance Members
Object-Level Variables and Methods
Unique Data per Object
Abstract Classes
Purpose and Use Cases
When to Use Abstract Classes
Abstract Methods
Declaration and Implementation
Instantiation Restrictions
Abstract Class Limitations
Interfaces
Pure Abstraction
Defining Method Signatures Only
Defining Contracts
Enforcing Implementation in Subclasses
Implementing Interfaces
Multiple Interface Implementation
Interface vs Abstract Class
Key Differences and Use Cases
Previous
3. The Four Pillars of OOP
Go to top
Next
5. Relationships Between Classes