← Object-Oriented Programming learning pathObject-Oriented Programming · Module 7 of 10
Composition and relationships
Model "has-a" relationships between objects.
📖 Key ideas
- Composition: an object contains other objects (Car has an Engine).
- Aggregation: weaker has-a; parts can exist alone.
- Association: objects use each other.
- "Favour composition over inheritance" for flexibility.
- UML class diagrams show these relationships.
💡 Real-life example: Composition is building a computer from parts: CPU, RAM, disk, each a separate object.
CompositionStrong has-a; parts owned by whole
AggregationWeak has-a relationship
AssociationObjects linked or using each other
Has-aContains relationship