የቁልፍ ልዩነት - ቀደምት እና ዘግይቶ ማሰሪያ
Early Binding እና Late Binding ከፖሊሞርፊዝም ጋር የተያያዙ ሁለት ጽንሰ-ሐሳቦች ናቸው። የቅድሚያ ማሰሪያው በተጠናቀረ ጊዜ ሲሆን የኋለኛው ማሰሪያ በሂደት ላይ ይከሰታል። በቅድመ እና ዘግይቶ ማሰሪያ መካከል ያለው ቁልፍ ልዩነት Early Binding የመደወያ ዘዴን ለመፍታት የክፍል መረጃን ሲጠቀም ዘግይቶ ቢንዲንግ ደግሞ ነገሩን የመጥራት ዘዴን ሲጠቀም ነው።
እንደ ጃቫ ያሉ የፕሮግራም አወጣጥ ቋንቋዎች በነገር ተኮር ፕሮግራሚንግ (OOP) ይደግፋል። ነገሮችን በመጠቀም ፕሮግራሙን ወይም ሶፍትዌሩን ለመገንባት የሚያስችል ምሳሌ ነው። በሶፍትዌሩ ውስጥ ብዙ ነገሮች አሉ። እነዚህ ነገሮች እርስ በርስ የተያያዙ እና ዘዴዎችን በመጠቀም መልዕክቶችን ያስተላልፋሉ.እያንዳንዱ ነገር ባህሪያት እና ባህሪያት አሉት. ባህሪያቱ በንብረቶቹ ወይም ባህርያት ተገልጸዋል. ባህሪያቱ የሚገለጹት ዘዴዎችን በመጠቀም ነው። ነገሩ ተማሪው እንደ ስም፣ እድሜ እና ባህሪያቶች ሊኖሩት ይችላል እና በንብረት ይወከላሉ። ዓላማው ተማሪ እንደ ጥናት እና ማንበብ ያሉ ባህሪያት ሊኖረው ይችላል እና እነሱም በዘዴዎች ይወከላሉ. አንዱ ዋና የOOP ምሰሶ ፖሊሞርፊዝም ነው። አንድ ነገር በተለያዩ መንገዶች እንዲሠራ ያስችለዋል። ቀደምት ማሰሪያ እና ዘግይቶ ማሰሪያ በፖሊሞርፊዝም ውስጥ ሁለት ጽንሰ-ሀሳቦች ናቸው። ከመጠን በላይ የመጫን ዘዴዎች ቀደምት ማሰርን በመጠቀም የተሳሰሩ ናቸው. የተሻሩ ዘዴዎች ዘግይተው ማሰርን በመጠቀም የተሳሰሩ ናቸው።
ቅድሚያ ማሰሪያው ምንድን ነው?
በቅድሚያ ማስያዣ፣የክፍል መረጃው ዘዴ ጥሪን ለመፍታት ይጠቅማል። ቀደምት ማሰሪያ የሚከናወነው በማጠናቀር ጊዜ ነው። የማይንቀሳቀስ ማሰሪያ በመባልም ይታወቃል። በዚህ ሂደት ውስጥ, ማሰር ፕሮግራሙ በትክክል ከመጀመሩ በፊት ይከሰታል. ከመጠን በላይ የመጫን ዘዴዎች ቀደምት ማሰርን በመጠቀም የተሳሰሩ ናቸው. ከታች ያለውን ፕሮግራም ይመልከቱ።
ስእል 01፡ የስሌት ክፍል
ምስል 02፡ ዋና ፕሮግራም ቀደም ብሎ ማያያዝ
ከላይ ባለው ፕሮግራም መሰረት፣ የሒሳብ ክፍል ሁለት ኢንቲጀር እሴቶችን የሚቀበል እና ሁለት እጥፍ እሴቶችን የሚቀበል ሌላ የመደመር ዘዴን ይዟል። በዋናው ፕሮግራም ውስጥ ፣ የሂሳብ ስሌት ዓይነት ተፈጠረ። ሁለት ኢንቲጀርን ወደ መደመር ዘዴ ሲያስተላልፍ ሁለት ኢንቲጀር የሚቀበል የመደመር ዘዴን ይጠራል። ሁለት እጥፍ እሴቶችን ወደ አክል ዘዴ ሲያስተላልፍ ከሁለት እጥፍ እሴቶች ጋር የሚዛመደውን ዘዴ ይጠራል። ይህ የማሰር ሂደት የሚከናወነው በማጠናቀር ጊዜ ነው። ሁሉም አስፈላጊ መረጃዎች ከሂደቱ በፊት የሚታወቁ ናቸው, ስለዚህ የፕሮግራሙን ውጤታማነት እና የአፈፃፀም ፍጥነት ይጨምራል.
Late Binding ምንድን ነው?
በዘግይቶ ማሰሪያ ውስጥ ነገሩ የጥሪ ዘዴን ለመፍታት ይጠቅማል። ዘግይቶ ማሰር የሚከናወነው በሂደት ጊዜ ነው። ተለዋዋጭ ማሰሪያ በመባልም ይታወቃል። በዚህ ሂደት ውስጥ ማሰር የሚከናወነው በፕሮግራሙ አፈፃፀም ላይ ነው. የተሻሩ ዘዴዎች ዘግይተው ማሰርን በመጠቀም ተያይዘዋል. ከታች ያለውን ፕሮግራም ይመልከቱ።
ስእል 03፡ የቅርጽ ክፍል
ምስል 04፡ የክበብ ክፍል
ሥዕል 05፡ ትሪያንግል ክፍል
ሥዕል 06፡ ዋና ፕሮግራም ዘግይቶ ማሰሪያ
ከላይ ባለው ፕሮግራም መሰረት የክፍል ቅርፅ የስዕል ዘዴ አለው። የክፍል ክብ እና ክፍል ትሪያንግል ክፍል የቅርጽ ክፍሉን ያራዝመዋል። ስለዚህ, እነዚህ ሁለት ክፍሎች የቅርጽ ክፍልን ባህሪያት እና ዘዴዎች ሊወርሱ ይችላሉ. የቅርጽ ክፍል መሰረታዊ ክፍል ነው. የክበብ እና ትሪያንግል ክፍሎች የተገኙ ክፍሎች ናቸው። የክፍል ክበብ እና ክፍል ትሪያንግል እንዲሁ የመሳል ዘዴ ከራሳቸው አተገባበር ጋር አላቸው። ስለዚህ፣ በቅርጽ ክፍል ውስጥ ያለው የስዕል ዘዴ በተገኙት ክፍሎች የስዕል ዘዴዎች ተሽሯል።
በዋናው ፕሮግራም ውስጥ የማጣቀሻ ተለዋዋጭ s ዓይነት ቅርጽ ተፈጥሯል። በማጠናቀር ጊዜ፣ አቀናባሪው የመሠረት ክፍል መሳል ዘዴን ብቻ ይጠቅሳል። በሂደት ጊዜ, የተለያዩ የመሳል ዘዴዎች ይፈጸማሉ.በመጀመሪያ፣ s ወደ የዓይነት ቅርጽ ነገር ይጠቁማል። ስለዚህ, የቅርጽ ክፍል የመሳል ዘዴ ተጠርቷል. ከዚያ s ወደ ክብ ዓይነት ነገር ይጠቁማል እና የክበብ ክፍልን የመሳል ዘዴን ይጠራል። በመጨረሻ፣ s ወደ ትሪያንግል አይነት ነገር ይጠቁማል፣ እና በትሪያንግል ክፍል ውስጥ የመሳል ዘዴን ይጠራል። ዘዴዎቹ በእቃዎቹ ላይ ተመስርተው ይጠራሉ. ስለዚህ ዕቃው በLate Binding ውስጥ የመደወል ዘዴን ለመፍታት ይጠቅማል። ለማሰር የሚያስፈልገው መረጃ የሚቀርበው በሂደት ጊዜ ነው፣ ስለዚህ የማስፈጸሚያ ፍጥነት ከቀደመው ማሰሪያ ጋር ሲወዳደር ቀርፋፋ ነው።
በቅድሚያ ማሰሪያ እና ዘግይቶ ማሰሪያ መካከል ያለው ተመሳሳይነት ምንድነው?
ሁለቱም Early Binding እና Late Binding የOOP ምሰሶ ከሆነው ፖሊሞፈርዝም ጋር የተያያዙ ናቸው።
በቅድሚያ ትስስር እና ዘግይቶ ማሰሪያ መካከል ያለው ልዩነት ምንድን ነው?
ቅድመ ማሰሪያ ከ ዘግይቶ ማሰሪያ |
|
የክፍል መረጃን በመጠቀም በተጠናቀረ ጊዜ የሚፈጠረውን የጥሪ ዘዴ ለመፍታት የመጠቀም ሂደት Early Binding ይባላል። | በነገር የመጠቀም ሂደት በሂደት የሚፈጠረውን የጥሪ ዘዴ የመፍታት ሂደት Late Binding ይባላል። |
የማስያዣ ጊዜ | |
የቅድሚያ ማስያዣ የሚከናወነው በተጠናቀረ ጊዜ ነው። | Late Binding በሂደት ላይ ነው። |
ተግባር | |
Early Binding የጥሪ ዘዴን ለመፍታት የክፍል መረጃውን ይጠቀማል። | Late Binding የጥሪ ዘዴን ለመፍታት ነገሩን ይጠቀማል። |
ተመሳሳይ ቃላት | |
Early Binding በተጨማሪም የማይንቀሳቀስ ማሰሪያ በመባልም ይታወቃል።. | Late Binding ተለዋዋጭ ማሰሪያ በመባልም ይታወቃል። |
መከሰት | |
ከመጠን በላይ የመጫን ዘዴዎች ቀደምት ማሰርን በመጠቀም የተሳሰሩ ናቸው። | የተሻሩ ዘዴዎች ዘግይተው ማሰርን በመጠቀም የተሳሰሩ ናቸው። |
የአፈፃፀም ፍጥነት | |
የማስፈጸሚያ ፍጥነት በቅድመ ማያያዝ ፈጣን ነው። | የማስፈጸሚያ ፍጥነት በማያያዝ ዘግይቶ ዝቅተኛ ነው። |
ማጠቃለያ - ቀደምት እና ዘግይቶ ማሰሪያ
OOP በተለምዶ ለሶፍትዌር ልማት ስራ ላይ ይውላል። አንዱ ዋና የኦኦፒ ምሰሶ (polymorphism) ነው። ቀደምት ማሰሪያ እና ዘግይቶ ማሰር ከዚህ ጋር የተያያዙ ናቸው። ቀደም ብሎ ማሰር የሚከናወነው በማጠናቀር ጊዜ ሲሆን ዘግይቶ ማሰር ደግሞ በሂደት ላይ ነው። በዘዴ ከመጠን በላይ መጫን, ማያያዣው የሚከናወነው ቀደምት ማሰርን በመጠቀም ነው. ዘዴን በማሸጋገር, ማጣበቂያው የሚከሰተው ዘግይቶ ማሰርን በመጠቀም ነው. በቅድመ እና ዘግይቶ ማሰሪያ መካከል ያለው ልዩነት Early Binding የጥሪ ዘዴን ለመፍታት የክፍል መረጃን ሲጠቀም Late Binding ደግሞ ነገሩን የመጥራት ዘዴን ሲጠቀም ነው።