ये संबंध मुख्य रूप से उपयोग पर आधारित हैं। यह निर्धारित करता है कि एक निश्चित क्लास HAS-A निश्चित चीज। यह संबंध कोड के डुप्लिकेशन के साथ-साथ बग्स को कम करने में मदद करता है।
आइए एक उदाहरण देखें −
उदाहरण
public class Vehicle{}
public class Speed{}
public class Van extends Vehicle {
private Speed sp;
}यह दर्शाता है कि क्लास Van HAS-A Speed। Speed के लिए एक अलग क्लास होने से, हमें Van क्लास के अंदर स्पीड से संबंधित संपूर्ण कोड डालने की आवश्यकता नहीं है, जो Speed क्लास को मल्टीपल एप्लिकेशन में पुनः उपयोग करने योग्य बनाता है।
ऑब्जेक्ट-ओरिएंटेड फीचर में, उपयोगकर्ताओं को यह परेशान होने की आवश्यकता नहीं है कि कौन सा ऑब्जेक्ट वास्तविक कार्य कर रहा है। इसे प्राप्त करने के लिए, Van क्लास Van क्लास के उपयोगकर्ताओं से कार्यान्वयन विवरण छुपाती है। तो, मूल रूप से होता यह है कि उपयोगकर्ता Van क्लास से एक निश्चित क्रिया करने के लिए कहेंगे और Van क्लास या तो स्वयं कार्य करेगी या किसी अन्य क्लास को कार्य करने के लिए कहेगी।