የቁልፍ ልዩነት - የመጠቅለያ ክፍል vs ቀዳሚ ዓይነት በጃቫ
ጃቫ የተለያዩ አፕሊኬሽኖችን ለማዘጋጀት የሚያገለግል ታዋቂ የፕሮግራሚንግ ቋንቋ ነው። የጃቫ አንዱ ጥቅም የነገር ተኮር ፕሮግራሚንግ (OOP) መደገፉ ነው። OOP ን በመጠቀም ፕሮግራሙን ወይም ሶፍትዌሩን እቃዎችን በመጠቀም መቅረጽ ይቻላል። አንድ ክፍል አንድን ነገር ለመፍጠር እንደ ንድፍ ጥቅም ላይ ይውላል. በፕሮግራም አወጣጥ ውስጥ, ውሂብ ማከማቸት አስፈላጊ ነው. መረጃን ለማከማቸት የተያዙ የማህደረ ትውስታ ቦታዎች ተለዋዋጮች በመባል ይታወቃሉ። እያንዳንዱ ተለዋዋጭ የተወሰነ የውሂብ አይነት አለው. በጃቫ ቋንቋ የተሰጡ ስምንት ጥንታዊ ዓይነቶች አሉ። እነሱ አጭር፣ ባይት፣ ኢንት፣ ተንሳፋፊ፣ ድርብ፣ ቻር፣ ቡሊያን ናቸው።አንዳንድ ጊዜ የጥንታዊውን ዓይነት ወደ ዕቃ እና ዕቃውን ወደ ጥንታዊው ዓይነት መለወጥ ያስፈልጋል። የመጠቅለያ ክፍሎቹ ለዚህ ልወጣ ጥቅም ላይ ይውላሉ። ይህ ጽሑፍ በጃቫ ውስጥ በማሸጊያ ክፍል እና በጥንታዊ ዓይነት መካከል ያለውን ልዩነት ያብራራል። በጃቫ ውስጥ በጥቅል ክፍል እና በፕሪሚቲቭ ዓይነት መካከል ያለው ቁልፍ ልዩነት የማሸጊያ ክፍል አንድን ጥንታዊ አይነት ወደ አንድ ነገር ለመለወጥ እና ነገርን ወደ ጥንታዊው አይነት ለመለወጥ የሚያገለግል ሲሆን ፕሪሚቲቭ ዓይነት ደግሞ በጃቫ ፕሮግራሚንግ ቋንቋ የቀረበ አስቀድሞ የተወሰነ የውሂብ አይነት ነው።
Wrapper Class በጃቫ ምንድነው?
A Wrapper class በጃቫ የጥንታዊ የውሂብ አይነትን ወደ ዕቃ እና ዕቃ ወደ ቀዳሚ ዓይነት ለመቀየር ይጠቅማል። የመጀመሪያ ደረጃ የመረጃ አይነቶችን ለማከማቸት፣ እንደ Array Lists እና Vectors ያሉ የዳታ አወቃቀሮችን ለማከማቸት የጥንታዊ የመረጃ አይነቶች እንኳን ጥቅም ላይ ይውላሉ። ስለዚህ, ለመቀየሪያው የመጠቅለያ ክፍሎችን መጠቀም ያስፈልጋል. ተጓዳኝ የመጠቅለያ ክፍሎች ቻር፣ ባይት፣ አጭር እና ኢንቲ የተባሉት ቁምፊ፣ ባይት፣ አጭር እና ኢንቲጀር ናቸው።የረጅም፣ ተንሳፋፊ፣ ድርብ እና ቡሊያን ያሉት ተዛማጅ ጥቅል ክፍሎች ረጅም፣ ተንሳፋፊ፣ ድርብ እና ቡሊያን ናቸው።
ምስል 01፡ የጃቫ ፕሮግራም የመጠቅለያ ክፍሎችን ወደ ቀዳሚ አይነቶች የሚቀይር
ከላይ ባለው ፕሮግራም መሰረት ኢንቲጀር ኢንቲጀር መጠቅለያ ክፍል ነገር ነው። የ floatobj ተንሳፋፊ መጠቅለያ ክፍል ነገር ነው. Doubleobj ድርብ መጠቅለያ ክፍል ነገር ነው። የኢንቲጀር ነገር intValue () በመጠቀም ወደ ቀዳሚ ኢንትነት ይቀየራል። በተመሳሳይ፣ የFlaat ነገር floatValue () በመጠቀም ወደ ፕሪሚቲቭ ተንሳፋፊነት ይቀየራል። DoubleValue () በመጠቀም ድርብ ነገር ወደ ጥንታዊ ድርብ ይቀየራል። ፕሮግራም አውጪው መግለጫውን እንደ int i=intobj ከጻፈ; አጠናቃሪው በውስጥ ወደ bj. Value () ይጽፋል. የመጠቅለያ ክፍልን ነገር በራስ ሰር ወደ ተጓዳኝ ፕሪሚቲቭ አይነት የመቀየር ሂደት unboxing በመባል ይታወቃል።እንደ ArrayLists ያሉ ስብስቦች ነገሮችን ስለሚያከማቹ Wrapper classን ይጠቀማሉ።
በጃቫ ፕሪምቲቭ አይነት ምንድነው?
የመጀመሪያዎቹ የመረጃ አይነቶች በጃቫ ፕሮግራሚንግ ቋንቋ የቀረቡ አስቀድሞ የተገለጹ የውሂብ አይነቶች ናቸው። ስምንት ጥንታዊ ዓይነቶች አሉ. ባይት፣ አጭር፣ ኢንት፣ ረዥም፣ ተንሳፋፊ፣ ድርብ፣ ቡሊያን እና ቻር ናቸው። የባይት ዳታ አይነት ባለ 8-ቢት የተፈረመ ሁለት ማሟያ ኢንቲጀር ለማከማቸት ይጠቅማል። የአጭር የውሂብ አይነት ባለ 16-ቢት የተፈረመ ሁለት ማሟያ ኢንቲጀር ለማከማቸት ይጠቅማል። የ int ዳታ አይነት ባለ 32-ቢት የተፈረመ ሁለት ማሟያ ኢንቲጀር ለማከማቸት ሲሆን ረጅም የውሂብ አይነት ባለ 64-ቢት የተዘፈነ ሁለት ማሟያ ኢንቲጀር ለማከማቸት ይጠቅማል። ተንሳፋፊው ነጠላ ትክክለኝነት ባለ 32-ቢት ተንሳፋፊ ነጥብ እሴትን ለማከማቸት እና ድብሉ ባለ ሁለት ትክክለኛነት 64-ቢት ተንሳፋፊ ነጥብ እሴትን ለማከማቸት ይጠቅማል። ቡሊያን እውነትን ወይም ሐሰትን ለመወከል ጥቅም ላይ ይውላል። ቻርዱ አንድ ነጠላ ቁምፊን ለማከማቸት ያገለግላል. እነዚህ በጃቫ ውስጥ ያሉት ስምንቱ ጥንታዊ ዓይነቶች ናቸው።
ምስል 02፡ የጃቫ ፕሮግራም ቀዳሚ ዓይነቶችን ወደ መጠቅለያ ክፍል የሚቀይር
ከላይ ባለው ፕሮግራም መሰረት num1 የ int አይነት ነው። num1 ወደ Integer.valueOf() በማለፍ ወደ ኢንቲጀር ይቀየራል። ተንሳፋፊው1 ተንሳፋፊ እሴቶችን ማከማቸት ይችላል። float1ን ወደ Float.valueOf() በማለፍ ወደ ተንሳፋፊ አይነት ይቀየራል። በተመሳሳይ፣ double1 ድርብ እሴቶችን ማከማቸት ይችላል። ድርብ1ን ወደ Double.valueOf() በማለፍ ወደ Double type ይቀየራል። ፕሮግራም አውጪው መግለጫውን እንደ Interger intobj=num1 ከጻፈ; ማጠናቀቂያው በውስጣዊው Integer.valueOf (num1) ይጽፋል; ቀዳሚውን አይነት ወደ ተጓዳኝ መጠቅለያ ክፍል ነገር የመቀየር ሂደት በራስ-ሰር አውቶቦክሲንግ በመባል ይታወቃል።
በጃቫ ውስጥ በWrapper Class እና Primitive Type መካከል ያለው ተመሳሳይነት ምንድነው?
ሁለቱም Wrapper class እና Primitive Type በጃቫ በፕሮግራም አወጣጥ ላይ ውሂብ ለማከማቸት ጥቅም ላይ ሊውሉ ይችላሉ።
በጃቫ ውስጥ በWrapper Class እና Primitive Type መካከል ያለው ልዩነት ምንድን ነው?
Wrapper Class vs Primitive Type በጃቫ |
|
የመጠቅለያ ክፍል ፕሪሚቲቭ አይነትን ወደ ዕቃ እና ነገር ወደ ቀዳሚ አይነት የመቀየር ዘዴን ይሰጣል። | የቀደመው አይነት አስቀድሞ በጃቫ የቀረበ የውሂብ አይነት ነው። |
የተቆራኘ ክፍል | |
A Wrapper class አንድን ነገር ለመፍጠር ይጠቅማል። ስለዚህ፣ ተዛማጅ ክፍል አለው። | የመጀመሪያው አይነት ዕቃ ስላልሆነ የክፍል ውስጥ አይገባም። |
Null Values | |
የመጠቅለያ ክፍል ነገሮች ባዶ እሴቶችን ይፈቅዳሉ። | የመጀመሪያ የውሂብ አይነት ባዶ እሴቶችን አይፈቅድም። |
ማህደረ ትውስታ ያስፈልጋል | |
የሚፈለገው ማህደረ ትውስታ ከቀደምት አይነቶች ከፍ ያለ ነው።የክላስተር ኢንዴክስ ተጨማሪ ቦታ አይፈልግም። | የሚያስፈልገው ማህደረ ትውስታ ከመጠቅለያ ክፍሎች ጋር ሲወዳደር ዝቅተኛ ነው። |
ስብስቦች | |
A Wrapper class እንደ ArrayList፣ ወዘተ ካሉ ስብስቦች ጋር መጠቀም ይቻላል። | አንድ ጥንታዊ አይነት ከስብስብ ጋር ጥቅም ላይ አይውልም። |
ማጠቃለያ - መጠቅለያ ክፍል vs ቀዳሚ ዓይነት በጃቫ
ጃቫ ቋንቋ ስምንት ጥንታዊ የመረጃ አይነቶችን ያቀርባል። አንዳንድ ጊዜ የጥንታዊ ዓይነቶችን ወደ ተቃራኒነት መለወጥ እና እንዲሁም እቃዎችን ወደ ጥንታዊነት መለወጥ ያስፈልጋል. ያንን ተግባር ለማሳካት መጠቅለያ ክፍሎችን መጠቀም ይቻላል። በጃቫ ውስጥ በማሸጊያ ክፍል እና በፕሪሚቲቭ ዓይነት መካከል ያለው ልዩነት መጠቅለያ ክፍል አንድን ፕሪሚቲቭ ዓይነት ወደ ዕቃ እና ዕቃን ወደ ቀድሞው ዓይነት ለመለወጥ የሚያገለግል ሲሆን ፕሪሚቲቭ ዓይነት ደግሞ በጃቫ ፕሮግራሚንግ ቋንቋ የቀረበ አስቀድሞ የተወሰነ የውሂብ ዓይነት ነው።