መሻር እና ከመጠን በላይ መጫን
ዘዴው ከመጠን በላይ መጫን እና መጫን በአንዳንድ የፕሮግራሚንግ ቋንቋዎች ውስጥ የሚገኙ ሁለት ጽንሰ-ሐሳቦች/ቴክኒኮች/ባህሪዎች ናቸው። ሁለቱም ፅንሰ-ሀሳቦች የፕሮግራም አድራጊው ተመሳሳይ ስም ላላቸው ዘዴዎች የተለያዩ አተገባበርዎችን እንዲያቀርብ ያስችለዋል. ዘዴ መሻር ፕሮግራመር በሱፐር መደብ ውስጥ አስቀድሞ ለተገለጸው ዘዴ በንዑስ ክፍል ውስጥ ተለዋጭ ትግበራ እንዲያቀርብ ያስችለዋል። ዘዴ ከመጠን በላይ መጫን ፕሮግራሚው ተመሳሳይ ስም ላላቸው በርካታ ዘዴዎች (በተመሳሳይ ክፍል ውስጥ) የተለያዩ አተገባበርዎችን እንዲያቀርብ ያስችለዋል።
የሚሻረው ምንድን ነው?
ከላይ እንደተገለፀው አንድ ክፍል ሱፐር መደብን ወይም የወላጅ ክፍልን በነገር ተኮር የፕሮግራሚንግ ቋንቋዎች ሊያራዝም ይችላል።የሕፃን ክፍል የራሱ ዘዴዎች ሊኖሩት ይችላል ወይም እንደ አማራጭ የራሱ አተገባበር ሊኖረው ይችላል አስቀድሞ በወላጅ ክፍል (ወይም በአንደኛው የወላጅ ክፍል) ውስጥ የተገለጹ ዘዴዎች። ስለዚህ የኋለኛው ሲከሰት ዘዴ መሻር ይባላል። በሌላ አነጋገር፣ የሕፃኑ ክፍል አስቀድሞ በአንደኛው የወላጅ ክፍል ውስጥ እንደተገለጸው ፊርማ እና የመመለሻ ዓይነት ላለው ዘዴ አተገባበር ከሰጠ ፣ ያ ዘዴ በልጁ ክፍል ትግበራ ተሽሯል (ይተካዋል) ይባላል።. ስለዚህ በክፍል ውስጥ የተሻረ ዘዴ ካለ, የሩጫ ስርዓቱ የትኛውን ዘዴ ትግበራ እንደሚውል መወሰን አለበት. ይህ ጉዳይ የሚፈታው እሱን ለመጥራት የሚያገለግለውን ትክክለኛ የነገር አይነት በመመልከት ነው። የወላጅ ክፍል አንድ ነገር የተሻረውን ዘዴ ለመጥራት ጥቅም ላይ ከዋለ፣ በወላጅ ክፍል ውስጥ ያለው ትግበራ ጥቅም ላይ ይውላል። በተመሳሳይም ጥቅም ላይ የሚውለው የሕፃኑ ክፍል ዕቃ ከሆነ, የልጁ ክፍል ትግበራ ጥቅም ላይ ይውላል. እንደ Java፣ Eifell፣ C++ እና Python ያሉ ዘመናዊ የፕሮግራሚንግ ቋንቋዎች ዘዴን መሻርን ይፈቅዳል።
ከመጠን በላይ መጫን ምንድነው?
ዘዴ ከመጠን በላይ መጫን በአንዳንድ የፕሮግራሚንግ ቋንቋዎች ከአንድ በላይ ዘዴ ተመሳሳይ ስም ያለው ነገር ግን የተለያዩ የግብአት እና የውጤት አይነቶችን ለመፍጠር የቀረበ ባህሪ ነው። በዘመናዊ የፕሮግራም አወጣጥ ቋንቋዎች እንደ Java፣ C፣ C++ እና VB. NET ይህ ባህሪ ይገኛል። ሌላ ተመሳሳይ ስም ያለው ነገር ግን የተለየ ዘዴ ፊርማ ወይም የተለየ የመመለሻ አይነት (ወይም ሁለቱም) በመፍጠር ዘዴን ከመጠን በላይ መጫን ይችላሉ። ለምሳሌ ፣በአንድ ክፍል ውስጥ method1(type1 t1) እና method1(type2 t2) ካለህ ከልክ በላይ ተጭነዋል። ከዚያም ስርዓቱ ሲጠራ የትኛው እንደሚፈፀም መወሰን አለበት. ይህ ልዩነት ወደ ዘዴው የተላለፈውን የመለኪያ (ዎች) አይነት በመመልከት ነው. ክርክሩ አይነት1 ከሆነ የመጀመሪያው ትግበራ ይባላል፡ 2 ከሆነ ደግሞ ሁለተኛው ትግበራ ይባላል።
በመሻር እና ከመጠን በላይ በመጫን መካከል ያለው ልዩነት ምንድነው?
ምንም እንኳን ዘዴን መሻር እና ዘዴን ከመጠን በላይ መጫን የተለያዩ አተገባበር ያለው ዘዴን ለማቅረብ ጥቅም ላይ ይውላል፣ በእነዚህ ሁለት ጽንሰ-ሐሳቦች/ቴክኒኮች መካከል ቁልፍ ልዩነቶች አሉ።በመጀመሪያ ደረጃ፣ የስልት መሻር ጉዳዮች ሁልጊዜ በተለያዩ ክፍሎች ውስጥ ይቆያሉ፣ ዘዴ ከመጠን በላይ የመጫን ጉዳዮች ግን በተመሳሳይ ክፍል ውስጥ ይቆያሉ። ይህ ማለት መሻር የሚቻለው ውርስ በሚፈቅደው የነገር ተኮር የፕሮግራሚንግ ቋንቋዎች ብቻ ሲሆን ከመጠን በላይ መጫን ደግሞ ነገር-ተኮር ባልሆነ ቋንቋም ሊገኝ ይችላል። በሌላ አነጋገር በሱፐር መደብ ውስጥ ያለውን ዘዴ ይሽራሉ ነገር ግን በእራስዎ ክፍል ውስጥ ያለውን ዘዴ ከልክ በላይ ይጫኑታል።
ሌላው ልዩነት ደግሞ የተሻሩ ዘዴዎች ተመሳሳይ ዘዴ ስም፣ ስልት ፊርማ እና የመመለሻ አይነት አላቸው፣ ነገር ግን ከመጠን በላይ የተጫኑ ዘዴዎች በፊርማውም ሆነ በመመለሻ አይነት ሊለያዩ ይገባል (ስሙ አንድ መሆን አለበት)። በሁለት የተሻሩ ዘዴዎች መካከል ያለውን ልዩነት ለመለየት, ጥቅም ላይ የዋሉ ዘዴዎችን ለመጥራት ጥቅም ላይ የሚውለው ትክክለኛ የነገር አይነት, በሁለት ከመጠን በላይ የተጫኑ ዘዴዎችን ለመለየት ግን የመለኪያ ዓይነቶች ጥቅም ላይ ይውላሉ. ሌላው ቁልፍ ልዩነት ከመጠን በላይ መጫን በተጠናቀረበት ጊዜ መፍትሄ ያገኛል ፣ መሻር ግን በሂደት ጊዜ ይፈታል።