கணினி அறிவியல் - இடைமுகம் VS செயல்படுத்துதல் | 12th Computer Science : Chapter 1 : Problem Solving Techniques : Function
இடைமுகம் VS செயல்படுத்துதல்
ஒரு பொருள் (Object) செய்யக்கூடிய செயல்களின் தொகுப்பு இடைமுகம்
ஆகும். எடுத்துக்காட்டாக, மின் விளக்கின் சுவிட்ச்சை அழுத்தும் போது மின் விளக்கு ஒளிர்கிறது.
அது எவ்வாறு ஒளிர்கிறது என்பது கவலையில்லை. பொருள் நோக்கி நிரலாக்க மொழியில், இடைமுகம்
என்பது அனைத்து செயற்கூறுகளின் விளக்கங்கள் (descriptions) ஆகும். ஒரு புதிய இடைமுகமாக
இருப்பதற்கு இனக்குழு கண்டிப்பாக இவற்றைக் கொண்டிருக்க வேண்டும். நமது எடுத்துக்காட்டில்,
மின் விளக்கை போல் செயல்படும் எதுவும் turn_on() மற்றும் turn_off() என்ற செயற்கூறு
வரையறையைக் கொண்டிருக்கும். X,Y,Z செயற்கூறுகளைக் கட்டாயமாக கொண்டிருக்கும் இனக்குழுவாகிய
TYPE T (இடைமுகம் எதுவாக இருந்தாலும்) யின் பண்புகளை வலுக்கட்டாயமாக செயல்படுத்துவதே
இடைமுகத்தின் நோக்கம் ஆகும்.
இனக்குழு அறிவிப்பானது வெளிப்புற இடைமுகத்தோடு அதன் உள்ளமை நிலை
அந்த இடைமுகத்தைச் செயல்படுத்தும் செயல்பாட்டுடன் பண்புகளை உடைய குறிமுறை இணைக்கிறது.
பொருள் என்பது இனக்குழுவால் உருவாக்கப்பட்ட சான்றுரு ஆகும்.
வெளி உலகிற்கு பொருளின் காண்புநிலைப் பாங்கை இடைமுகம் வரையறுக்கிறது.
இடைமுகம் மற்றும் செயல்படுத்துதல் இரண்டுக்கும் இடையே உள்ள வேறுபாடு என்னவெனில்,
• ஒரு பொருளை முறையாக உருவாக்கி வழங்குவதற்கும் அதனை செயல்படுத்துவதற்கும்
தேவையான இடைமுகத்தை இனக்குழு வார்ப்புரு குறிப்பிடுகிறது.
• செயற்கூறுகளைப்பொருளுக்கு அனுப்புவதன் மூலம் பொருளின் பண்புகளையும்
பண்புக்கூறுகளையும் கட்டுப்படுத்த முடிகிறது.
காரின் வேகத்தை அதிகரிக்கும் எடுத்துக்காட்டை எடுத்துக் கொள்வோம்.
காரை ஓட்டும் நபர் அந்த காரின் உட்புற செயல்பாடுகள் பற்றி அறிந்திருக்க
வேண்டிய அவசியமில்லை. காரின் வேகத்தை அதிகப்படுத்த, அவர் காரின் துரிதப்படுத்தியை
(accelerator) அழுத்தி விரும்பிய பண்பை பெறுவார். இங்கு துரிதப்படுத்தி என்பது கார்
ஓட்டுநருக்கும் (அழைக்கும் பொருள்) இயந்திரத்துக்கும் (அழைக்கப்படும் பொருள்) இடையேயான
இடைமுகம் ஆகும். இதில், அழைக்கும் செயற்கூறு இவ்வாறு இருக்க வேண்டும் speed(70): இது
ஒரு இடைமுகமாகும்.
உட்புறமாக, காரின் இயந்திரம் அனைத்து வேலைகளையும் செய்கிறது.
எரிபொருள், காற்று, அழுத்தம் மற்றும் மின்சாரம் ஆகியவை இங்கு ஒன்றாக சேர்ந்து, ஆற்றலை
உருவாக்கி, வாகனத்தை நகர்த்துகிறது. இந்த அனைத்து நடவடிக்கைகளும் கார் ஓட்டுநரிடம்
இருந்து பிரித்து வைக்கப்பட்டுள்ளது. அவர் வேகமாக காரை செலுத்துவதில் ஆர்வமாக இருப்பார்.
இதனால், இடைமுகத்தை செயல்படுத்துதலில் இருந்து பிரித்து வைக்கப்படுகிறது.
ஒரு எளிமையான உதாரணத்தைக் காணலாம். கொடுக்கப்பட்டுள்ள 3 செயலுருபுகளில்
குறைந்த மதிப்பைக் காணும் செயற்கூற்றைச் செயல்படுத்துவதைக் கவனி.
let min 3 x y z :=
if x < y then
if x < z then x else z
else
if y < z then y else z