மெய்நிகர் மற்றும் தூய மெய்நிகர் செயல்பாட்டுக்கு இடையிலான வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 2 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 13 மே 2024
Anonim
W4_3 - Heap
காணொளி: W4_3 - Heap

உள்ளடக்கம்


மெய்நிகர் செயல்பாடு மற்றும் தூய மெய்நிகர் செயல்பாடு இரண்டும் ரன் டைம் பாலிமார்பிஸத்தின் கருத்துக்கள். இடையிலான முக்கிய வேறுபாடு ‘மெய்நிகர் செயல்பாடு ’ மற்றும் ‘தூய மெய்நிகர் செயல்பாடு’ அதாவது ‘மெய்நிகர் செயல்பாடு’ என்பது அடிப்படை வகுப்பில் அதன் வரையறையைக் கொண்டுள்ளது, மேலும் பரம்பரை பெறப்பட்ட வகுப்புகள் அதை மறுவரையறை செய்கின்றன. தூய மெய்நிகர் செயல்பாட்டிற்கு அடிப்படை வகுப்பில் எந்த வரையறையும் இல்லை, மேலும் மரபுரிமையாக பெறப்பட்ட அனைத்து வகுப்புகளும் அதை மறுவரையறை செய்ய வேண்டும்.

இருப்பினும், மெய்நிகர் செயல்பாடு டைனமிக் டிஸ்பாட்ச் மற்றும் ரன்-டைம் டிஸ்பாட்ச் என்றும் அழைக்கப்படுகிறது, ஏனெனில் அழைக்கப்படும் செயல்பாடு பயன்படுத்தப்படும் பொருளின் வகைக்கு ஏற்ப ரன் நேரத்தில் குறிப்பிடப்படுகிறது.

பாலிமார்பிஸம் சி ++ மற்றும் ஜாவா ஆகிய இரு மொழிகளாலும் ஆதரிக்கப்படுகிறது. ஜாவாவில், மெய்நிகர் செயல்பாடு என்பது C ++ இன் காலமாக இருப்பதால், ‘மெய்நிகர் செயல்பாடு’ என்பதற்கு பதிலாக “மீறல்” என்ற சொல் பயன்படுத்தப்படுகிறது.

  1. ஒப்பீட்டு விளக்கப்படம்
  2. வரையறை
  3. முக்கிய வேறுபாடுகள்
  4. தீர்மானம்

ஒப்பீட்டு விளக்கப்படம்

ஒப்பீட்டுக்கான அடிப்படைமெய்நிகர் செயல்பாடுதூய மெய்நிகர் செயல்பாடு
அடிப்படைமெய்நிகர் செயல்பாடு அடிப்படை வகுப்பில் அவற்றின் வரையறையைக் கொண்டுள்ளது.தூய மெய்நிகர் செயல்பாடு அடிப்படை வகுப்பில் எந்த வரையறையும் இல்லை.
பிரகடனம்மெய்நிகர் funct_name (அளவுரு_ பட்டியல்) {. . . . .};மெய்நிகர் funct_name (அளவுரு_ பட்டியல்) = 0;
பெறப்பட்ட வகுப்புபெறப்பட்ட அனைத்து வகுப்புகளும் அடிப்படை வகுப்பின் மெய்நிகர் செயல்பாட்டை மீறலாம் அல்லது மீறக்கூடாது.பெறப்பட்ட அனைத்து வகுப்புகளும் அடிப்படை வகுப்பின் மெய்நிகர் செயல்பாட்டை மேலெழுத வேண்டும்.
விளைவு

மெய்நிகர் செயல்பாடுகள் படிநிலை இயல்புடையவை; பெறப்பட்ட வகுப்புகள் அடிப்படை வகுப்பின் மெய்நிகர் செயல்பாட்டை மேலெழுதாவிட்டால் அது தொகுப்பை பாதிக்காது.பெறப்பட்ட அனைத்து வகுப்புகளும் அடிப்படை வகுப்பின் மெய்நிகர் செயல்பாட்டை மேலெழுதத் தவறினால், தொகுப்பு பிழை ஏற்படும்.
சுருக்கம் வகுப்புகருத்து இல்லை.ஒரு வகுப்பில் குறைந்தது ஒரு தூய மெய்நிகர் செயல்பாடு இருந்தால், அது சுருக்கமாக அறிவிக்கப்படுகிறது.


மெய்நிகர் செயல்பாட்டின் வரையறை

தி மெய்நிகர் செயல்பாடு அடிப்படை வகுப்பின் உறுப்பினர் செயல்பாடு ஆகும், மேலும் இது அடிப்படை வகுப்பிற்கு மரபுரிமையாக பெறப்பட்ட பெறப்பட்ட வகுப்புகளால் மறுவரையறை செய்யப்படுகிறது. மரபுரிமையாக பெறப்பட்ட அனைத்து வகுப்புகளும் மெய்நிகர் செயல்பாட்டை மறுவரையறை செய்ய வேண்டும் என்பது அவசியமில்லை, அது பெறப்பட்ட வகுப்புகளால் மட்டுமே மறுவரையறை செய்யப்படுகிறது, அதன் செயல்பாடு தேவைப்படலாம். முக்கிய வார்த்தையுடன் முந்தைய அடிப்படை வகுப்பில் செயல்பாட்டை அறிவிப்பதன் மூலம் ஒரு மெய்நிகர் செயல்பாடு உருவாக்கப்படுகிறது 'மெய்நிகர்'.

அறிவிப்பு:

வகுப்பு அடிப்படை {பொது: மெய்நிகர் வகை funt_name (அளவுரு-பட்டியல்) {. . . }};

மரபுரிமையாக பெறப்பட்ட வகுப்புகள் எந்த ‘மெய்நிகர்’ முக்கிய சொற்களும் இல்லாமல் மெய்நிகர் செயல்பாட்டை மறுவரையறை செய்யலாம். பெறப்பட்ட வகுப்புகள் அதன் பணியை நிறைவேற்ற மெய்நிகர் செயல்பாட்டை மறுவரையறை செய்கின்றன. மெய்நிகர் செயல்பாடு பெறப்பட்ட வகுப்புகளில் மறுவரையறை செய்யப்படுவதால், ஒரே செயல்பாட்டின் பல வடிவங்கள் உள்ளன. இப்போது, ​​செயல்பாட்டின் எந்த பதிப்பு அழைக்கப்படுகிறது, அந்த செயல்பாட்டை செயல்படுத்த எந்த வகையான பொருள் குறிப்பிடப்படுகிறது என்பதைப் பொறுத்தது.


பல நிலை பரம்பரை

மல்டிலெவல் பரம்பரை, அதன் அடிப்படை வகுப்பிலிருந்து மெய்நிகர் செயல்பாட்டைப் பெற்ற ஒரு பெறப்பட்ட வர்க்கம், மற்றொரு பெறப்பட்ட வகுப்பிற்கு ஒரு அடிப்படை வகுப்பாகப் பயன்படுத்தப்படும்போது, ​​மெய்நிகர் செயல்பாடு இன்னும் மீறப்படலாம். எனவே, ஒரு மெய்நிகர் செயல்பாடு மரபுரிமையாக இருக்கும்போது அதன் மெய்நிகர் தன்மையும் மரபுரிமையாகும்.

மெய்நிகர் செயல்பாடுகளும் இயற்கையில் படிநிலை சார்ந்தவை, அதாவது, பெறப்பட்ட வர்க்கம் அடிப்படை வகுப்பிலிருந்து பெறப்பட்ட மெய்நிகர் செயல்பாட்டை மேலெழுத / மறுவரையறை செய்யாவிட்டால் மற்றும் பெறப்பட்ட வகுப்பின் பொருள் அந்த மெய்நிகர் செயல்பாட்டைத் தொடங்கும்போது, ​​அடிப்படை வகுப்பால் வரையறுக்கப்பட்ட மெய்நிகர் செயல்பாடு செயல்படுத்தப்படுகிறது.

தூய மெய்நிகர் செயல்பாட்டின் வரையறை

பெறப்பட்ட வர்க்கம் மெய்நிகர் செயல்பாட்டை மேலெழுதாவிட்டால் மேலே பார்த்தபடி, அடிப்படை வகுப்பால் வரையறுக்கப்பட்ட மெய்நிகர் செயல்பாடு பயன்படுத்தப்படுகிறது. ஆனால், அடிப்படை வகுப்பே மெய்நிகர் செயல்பாட்டை வரையறுக்கவில்லை என்றால் என்ன. பல முறை, அடிப்படை வகுப்பிற்கு மெய்நிகர் செயல்பாட்டிற்கு எந்த வரையறையும் இல்லை, அல்லது சில நேரங்களில் பெறப்பட்ட அனைத்து வகுப்புகளும் மெய்நிகர் செயல்பாட்டை மேலெழுத வேண்டும் என்று நீங்கள் விரும்புகிறீர்கள்.

மேலே உள்ள இரண்டு சூழ்நிலைகளையும் கையாள, சி ++ “தூய மெய்நிகர் செயல்பாடு". ஒரு ‘தூய மெய்நிகர் செயல்பாடு’ அடிப்படை வகுப்பில் அறிவிக்கப்படுகிறது, ஆனால் அடிப்படை வகுப்பில் அதன் வரையறை இல்லை. தூய மெய்நிகர் செயல்பாடு பின்வருமாறு அறிவிக்கப்படுகிறது.

மெய்நிகர் வகை funct_name (அளவுரு_ பட்டியல்) = 0;

அடிப்படை வகுப்பில் ஒரு மெய்நிகர் செயல்பாடு “தூய்மையானது” ஆகும்போதெல்லாம், பெறப்பட்ட ஒவ்வொரு வகுப்பும் அடிப்படை வகுப்பின் தூய மெய்நிகர் செயல்பாட்டை கட்டாயமாக மேலெழுத வேண்டும். பெறப்பட்ட வர்க்கம் அடிப்படை வகுப்பின் தூய மெய்நிகர் செயல்பாட்டை மேலெழுதத் தவறினால், அது தொகுப்பு பிழையை ஏற்படுத்தும்.

சுருக்கம் வகுப்பு

குறைந்தது ஒரு தூய செயல்பாட்டைக் கொண்ட வர்க்கத்தை ‘சுருக்க வகுப்பு’ என்று அழைக்கப்படுகிறது. சுருக்க வகுப்புகளின் எந்தவொரு பொருளையும் உருவாக்க முடியாது, ஆனால் நீங்கள் சுருக்க வகுப்புகளுக்கு குறிப்புகள் மற்றும் சுட்டிகள் உருவாக்கலாம். சுருக்கம் வகுப்புகளின் உறுப்பினர்களை பெறப்பட்ட அடிப்படை வகுப்பின் பரம்பரை பெறப்பட்ட பெறப்பட்ட வகுப்புகளின் பொருள் வழியாக அணுகலாம்.

நீங்கள் சுருக்கத்தை அறிவிக்க விரும்பும் வகுப்பு, முக்கிய சொல்லைப் பயன்படுத்தவும் 'சுருக்க' முன் 'வர்க்கம்' முக்கிய.

// எடுத்துக்காட்டாக சுருக்கம் வகுப்பு வகுப்பு பெயர் {. . மெய்நிகர் வகை funct_name (அளவுரு_ பட்டியல்) = 0; . . };

  1. மெய்நிகர் செயல்பாடுகள் நிச்சயமாக அடிப்படை வகுப்பில் வரையறுக்கப்படுகின்றன மற்றும் பெறப்பட்ட வகுப்பில் மறுவரையறை செய்யப்படுகின்றன (மீறுகின்றன). மறுபுறம், தூய மெய்நிகர் செயல்பாடு அடிப்படை வகுப்பு குறிப்பாக அடிப்படை வகுப்பில் வரையறுக்கப்படவில்லை
  2. தேவைப்பட்டால் பெறப்பட்ட வர்க்கம் மெய்நிகர் செயல்பாட்டை மறுவரையறை (மேலெழுத), அதேசமயம், தூய மெய்நிகர் செயல்பாட்டிலிருந்து பெறப்பட்ட வர்க்கம் நிச்சயமாக தூய மெய்நிகர் செயல்பாட்டை மறுவரையறை செய்ய வேண்டும்.
  3. பெறப்பட்ட வர்க்கம் மெய்நிகர் செயல்பாட்டை மறுவரையறை செய்ய (மேலெழுத) தவறினால், அது அடிப்படை வகுப்பின் மெய்நிகர் செயல்பாட்டைப் பயன்படுத்தலாம். மாறாக, பெறப்பட்ட வர்க்கம் தூய மெய்நிகர் செயல்பாட்டை மேலெழுதத் தவறினால், தொகுப்பு பிழை ஏற்படுகிறது.
  4. மெய்நிகர் செயல்பாட்டைக் கொண்ட அடிப்படை வகுப்பை உடனடிப்படுத்தலாம், அதாவது அதன் பொருளை உருவாக்க முடியும். மாறாக, தூய்மையான மெய்நிகர் செயல்பாட்டைக் கொண்ட அடிப்படை வர்க்கம், அதாவது ஒரு சுருக்க வர்க்கம் முழுமையாக வரையறுக்கப்படாததால் ஒரு சுருக்க வகுப்பை உடனடிப்படுத்த முடியாது.

குறிப்பு:
‘மெய்நிகர் செயல்பாடு’ மற்றும் ‘தூய மெய்நிகர் செயல்பாடு’ ஆகியவற்றின் முன்மாதிரி நிரல் முழுவதும் ஒரே மாதிரியாகவே உள்ளது.

தீர்மானம்:

'மெய்நிகர் செயல்பாடுகள்' மற்றும் 'தூய மெய்நிகர் செயல்பாடு' இரண்டும் அவற்றின் முக்கியத்துவத்தைக் கொண்டுள்ளன, 'மெய்நிகர் செயல்பாடுகளில்' உள்ளதைப் போலவே, பெறப்பட்ட அனைத்து வர்க்கமும் மெய்நிகர் செயல்பாட்டை மறுவரையறை செய்யத் தேவையில்லை, மேலும் பெறப்பட்ட அனைத்து வர்க்கங்களும் மெய்நிகர் செயல்பாட்டை மறுவரையறை செய்ய வேண்டும் என்று நாங்கள் விரும்புகிறோம், தூய மெய்நிகர் செயல்பாடு அங்கு சிறப்பாக பொருந்தும்.