கலவை மற்றும் திரட்டல்
வகுப்புகள் மற்றும் பொருள்கள் ஒன்றோடொன்று தொடர்புடையதாக இருக்கலாம். பரம்பரை "IS A" உறவை விவரிக்கிறது. சிங்கம் ஒரு விலங்கு. பரம்பரையைப் பயன்படுத்தி இந்த உறவு எளிதில் வெளிப்படுத்தப்படுகிறது, அங்கு
Animal
பெற்றோர் வர்க்கம் இருக்கும் மற்றும்
Lion
குழந்தை இருக்கும். ஆனால் உலகில் உள்ள ஒவ்வொரு உறவும் இவ்வாறு சரியாக விவரிக்கப்படவில்லை. எடுத்துக்காட்டாக, ஒரு விசைப்பலகை கண்டிப்பாக கணினியுடன் சில உறவைக் கொண்டுள்ளது, ஆனால்
அது ஒரு கணினி அல்ல . கைகள் ஒரு நபருடன் சில உறவுகளைக் கொண்டுள்ளன, ஆனால் அவை ஒரு நபர் அல்ல. இந்த வழக்குகள் வேறு வகையான உறவைக் குறிக்கின்றன - "IS A" அல்ல, ஆனால் "HAS A". கைகள் ஒரு நபர் அல்ல, ஆனால் ஒரு நபருக்கு கைகள் உள்ளன. விசைப்பலகை என்பது கணினி அல்ல, ஆனால் கணினியில் விசைப்பலகை உள்ளது. "ஒரு"
. இந்த கருத்துக்களுக்கு இடையிலான வேறுபாடு உறவுகளின் "கடுமை" யில் உள்ளது. ஒரு எளிய உதாரணத்தை எடுத்துக் கொள்வோம்: எங்களிடம் ஒரு
Car
. ஒவ்வொரு காருக்கும் ஒரு இயந்திரம் உள்ளது. கூடுதலாக, ஒவ்வொரு காரும் பயணிகளை ஏற்றிச் செல்ல முடியும்.
Engine engine
மற்றும் புலங்களுக்கு இடையிலான அடிப்படை வேறுபாடு என்ன
Passenger[] passengers
? பயணிகள்
A
காருக்குள் அமர்ந்திருந்தால், பயணிகள் காரில் இருக்க முடியாது
B
என்று அர்த்தம் இல்லை.
C
ஒரு கார் பல பயணிகளுக்கு இடமளிக்கும். மேலும் என்னவென்றால், அனைத்து பயணிகளும் காரை விட்டு இறங்கலாம், ஆனாலும் அது சீராக இயங்கும்.
Car
வகுப்பிற்கும் அணிவரிசைக்கும் இடையிலான உறவு
Passenger[] passengers
குறைவான கண்டிப்பானது.
இது திரட்டுதல் என்று அழைக்கப்படுகிறது . இந்த தலைப்பில் ஒரு நல்ல கட்டுரை இங்கே:
வகுப்புகளுக்கு இடையிலான உறவுகள் (பொருள்கள்). திரட்டலுக்கு இது மற்றொரு சிறந்த உதாரணம். எங்களிடம்
Student
ஒரு மாணவரைக் குறிக்கும் ஒரு வகுப்பு உள்ளது என்றும்,
StudentGroup
மாணவர்களின் குழுவைப் பிரதிநிதித்துவப்படுத்துவது என்றும் வைத்துக் கொள்வோம். ஒரு மாணவர் இயற்பியல் கிளப், ஸ்டார் வார்ஸ் மாணவர் ரசிகர் மன்றம் அல்லது நகைச்சுவை கிளப்பில் உறுப்பினராக இருக்கலாம்.
கலவை என்பது ஒரு கடுமையான உறவுமுறை. கலவையைப் பயன்படுத்தும் போது, ஒரு பொருளுக்கு மற்றொரு பொருள் உள்ளது, ஆனால் அது அதே வகையிலான மற்றொரு பொருளைச் சேர்ந்ததாக இருக்க முடியாது. எளிமையான உதாரணம் கார் எஞ்சின். ஒரு காரில் எஞ்சின் இருந்தால், அந்த இன்ஜின் மற்றொரு காருக்கு சொந்தமானதாக இருக்காது.
Car
நீங்கள் பார்க்க முடியும் என, அந்த உறவு மற்றும் அதை விட மிகவும் கடுமையானது
Passengers
.
GO TO FULL VERSION