ஆக்கிகள் மற்றும் செலக்டர்கள் (constructors
and selectors)
ஆக்கி செயற்கூறுகள் அருவமாக்கம் தரவு வகையை கட்டமைக்க பயன்படுகிறது.
செலக்டர் செயற்கூறுகள் தகவல்களை தரவு வகையிலிருந்து பெறுவதற்கு பயன்படுகிறது.
எடுத்துக்காட்டாக, city என்று ஒரு அருவமாக்க தரவு வகை உள்ளது
என வைத்துக் கொள். City என்ற பொருள் நகரத்தின் பெயர், அட்சரேகை மற்றும் தீர்க்கரேகை
பற்றிய தகவல்களை சேமித்திருக்கும் city என்ற பொருளை உருவாக்க பின்வரும் செயற்கூற்றினை
பயன்படுத்தலாம்.
city = makecity (name, lat, lon)
city பொருளின் தகவல்களை பெறுவதற்கு பின்வரும் செயற்கூறுகளை பயன்படுத்தலாம்.
• getname(city)
• getlat(city)
• getlon(city)
பின்வரும் போலி குறிமுறை, இரு நகரங்களுக்கு இடையேயான தொலைதுரத்தை
கணக்கிடும்:
distance(city1, city2):
lt1, lg1 := getlat(city1), getlon(city1)
lt2, lg2 := getlat(city2), getlon(city2)
return ((It1 - 1t2)**2 + (Ig1 - 1g2)**2))1/2
மேலே காணும் குறிமுறையில், distance(),getlat() மற்றும்
getlon() ஆகியவை செயற்கூறுகள் ஆகும். It என்பது அட்ச ரேசை மற்றும் 1g என்பது தீர்க்கரேகையும்
குறிக்கிறது. longitude. := என்பதை "assigned as" அல்ல து
"becomes” என்று வாசிக்க வேண்டும்.
lt1,
lg1 := getlat(city1), getlon(city1)
இதனை lt1 என்பது getlat(city1)ன் மதிப்பாகிறது மற்றும் Ig1 என்பது
getlont(city1) ன் மதிப்பாகிறது. என்று வாசிக்க வேண்டும்.
இந்த செயற்கூறுகள் எவ்வாறு செயல்படுத்தப்படுகிறது என்பதை தெரிந்து
கொள்ள வேண்டியதில்லை. இதை வேறு ஒருவர் நமக்காக வரையறுத்துள்ளார் என்று கருதிக் கொள்ள
வேண்டும். பயனர் செயற்கூறுகள் எப்படி செயல்படுத்தப்படுகின்றது என்பது தெரிந்து வைத்திருக்க
வேண்டியதில்லை எனினும் வேறு ஒருவரால் இச்செயற்கூறுகள் வரையறுக்கப்பட்டிருக்க வேண்டும்.
மேலே காணும் குறிமுறையில், ஆக்கி மற்றும் செலக்டர்களை அடையாளம்
காண்போம். கண்ஸ்டரக்டரஸ் செயற்கூறுகள் அருவமாக்க தரவு வகையை கட்டமைக்கப் பயன்படுகிறது
என்பதை நாம் அறிவோம். மேலே காணும் போலிக் குறிமுறையில், cityயின் பொருளை உருவாக்கும்
செயற்கூறு, ஆக்கி ஆகும்.
city = makecity(name, lat, lon)
இங்கு makecity(name, lat, lon) என்ற ஆக்கி city எனும் பொருளை
உருவாக்குகிறது.
செலக்டார் செயற்கூறுகள் தகவல்களை தரவு வகையிலிருந்து பெறுவதற்கு
பயன்படுகிறது. மேலே காணும் குறிமுறையில்,
• getname(city)
• getlat(city)
• getlon(city)
என்பவை city எனும் பொருளிலிருந்து தகவல்களை பெற்றுத் தரும் செலக்டர்
செயற்கூறுகளாகும்.
ஆக்கி மற்றும் செலக்டர்களை அடையாளம் காணும் மேலும் ஒரு எடுத்துக்காட்டைக்
காணலாம். --என்ற குறியீட்டை குறிப்புரைகளாக என (Comments) என வாசிக்கவும்.
- - constructor
makepoint(x, y):
return x, y
- - selector
xcoord(point):
return point[0]
- -selector
ycoord(point):
return point[1]
குறிப்பு
தரவு
அருவமாக்கம் என்பது அருவமாக்க தரவு இனம் (Abstract Data Type (ADT)), அறிவிக்கப்பயன்படுகிறது.
இது ஆக்கி மற்றும் செலக்டாரஸின் தொகுப்பாகும். ஆக்கிகள், பல்வேறு தகவல் துணுக்குகளை
கொண்டு பொருள் உருவாக்கும், செலக்டார்ஸ் ஒவ்வொரு சிறு தகவல்களை பொருளிலிருந்து பெற
உதவுகிறது.