📄️ Introduction 📄
Structured Programming
🗃️ UML Diagram
2 items
📄️ Generalization
Generalization is a fundamental concept in object-oriented programming (OOP). It refers to the process of extracting shared characteristics (attributes and behaviors) from two or more specific classes to create a more general class, which can serve as their parent or base class. This parent class is considered a "generalized" version of the more specific child classes.
📄️ Association vs. Aggregation vs. Composition
Association, Aggregation, and Composition are types of relationships that describe the interaction and dependency between objects in Object-Oriented Analysis and Design (OOAD). Each type has its own unique characteristics:
📄️ Coupling
Coupling refers to the degree of dependency between modules or components in a system. It determines how much one module relies on another.
📄️ Cohesion
Cohesion refers to how closely related and focused the responsibilities of a module/class are. It measures how well the methods inside a class are related to each other.
🗃️ Architecture
5 items
📄️ Class ✔
Class
📄️ Access Modifier ✔
Access Modifier
📄️ Encapsulation ✔
Encapsulation is one of the core principles of object-oriented programming (OOP). It means:
📄️ Abstraction ✔
- Encapsulation → protecting correctness
📄️ Inheritance 📄
Inheritance allows one class (child/subclass) to reuse and extend another class (parent/superclass).
📄️ Polymorphism 📄
Polymorphism means:
📄️ Relationships 📄
In Object-Oriented Programming (OOP), relationships define how classes and objects interact with each other. There are several fundamental types of relationships in OOP:
📄️ System Design 📄
Below is a simple OOP design + Java implementation for a School Management System that supports: