በጃቫ በጥቅል እና በይነገጽ መካከል ያለው ቁልፍ ልዩነት ፓኬጅ ክፍሎቹን በዘዴ ለመመደብ እና በቀላሉ ለማቆየት የሚረዳ ሲሆን ኢንተርፌስ ደግሞ በርካታ ውርስዎችን ለመተግበር እና ረቂቅነትን ለማግኘት ይረዳል።
ጃቫ በጣም ታዋቂ ከሆኑ የፕሮግራም ቋንቋዎች አንዱ ነው። የጃቫ ዋነኛ ጥቅም በነገር ተኮር ፕሮግራሚንግ መደገፉ ነው። ይህ ዘዴ በሶፍትዌር ውስጥ ያሉትን የገሃዱ ዓለም ነገሮች ሞዴል ለማድረግ ያስችላል። ክፍል አንድን ነገር ለመፍጠር ንድፍ ነው. እያንዳንዱ ነገር ባህሪያቱን ወይም ባህሪያቱን እና ባህሪያቱን የሚገልጽበት ዘዴን የሚገልጽ ውሂብ ወይም መስኮች ይዟል። ይህ መጣጥፍ በጃቫ በጃቫ ከኦኦፒ ጋር የሚዛመዱ ሁለት ፅንሰ ሀሳቦችን ያብራራል እነዚህም ጥቅል እና በይነገጽ ናቸው።
ፓኬጅ በጃቫ ምንድን ነው?
ጃቫ ብዙ ቁጥር ያላቸውን ክፍሎች ያቀርባል። ሁሉንም ክፍሎች በአንድ አቃፊ ውስጥ ማስቀመጥ አስቸጋሪ ሊሆን ይችላል ምክንያቱም ለመድረስ አስቸጋሪ ነው. ይህ የፕሮግራሙ አስተዳደርን ሊጎዳ ይችላል. ጃቫ ክፍሎችን ለማዘጋጀት ፓኬጆችን ይጠቀማል። ከአቃፊ ጋር ተመሳሳይ ነው። የጃቫ ኤፒአይ ቡድኖች በተግባራዊነቱ መሰረት ወደ ተለያዩ ፓኬጆች ይመደባሉ። ስለዚህ፣ እያንዳንዱ ጥቅል ተዛማጅ የመማሪያ ክፍሎችን ይዟል።
የጥቅሎች ምሳሌ በጃቫ
ጥቂት የምሳሌ ፓኬጆች እንደሚከተለው ናቸው። የ java.io ጥቅል ግብአት፣ ደጋፊ ክፍሎችን ይዟል። ፋይል፣ PrintStream፣ BufferInputStream ወዘተ ያካትታል። የ java.net ጥቅል ከአውታረ መረብ ግንኙነት ጋር የተያያዙ ክፍሎችን ይዟል። አንዳንድ ምሳሌዎች URL፣ Socket፣ ServerSocket ናቸው። የ java.awt ጥቅል ግራፊክ የተጠቃሚ በይነገጽ ለመገንባት የሚያስፈልጉትን ሁሉንም ክፍሎች ይዟል። እነዚያ ጥቂት የጃቫ ኤፒአይ ጥቅሎች ናቸው።
ፕሮግራም አውጪው በፕሮግራሙ ውስጥ የተወሰነ ክፍል መጠቀም ሲፈልግ ያንን ጥቅል ማስመጣት አለበት። ፕሮግራም አድራጊው የBufferInputStream ክፍልን በ java.io ጥቅል ውስጥ ለመጠቀም ከፈለገ የማስመጣት መግለጫውን እንደሚከተለው ይፃፋል።
ጃቫ.util. BufferInoutStreamን አስመጣ፤
ከታች መግለጫ ሁሉንም ክፍሎች በመገልገያ ጥቅል ውስጥ ያስመጣሉ።
java.util.፤ አስመጣ
በተጠቃሚ የተገለጹ ጥቅሎችን መፍጠርም ይቻላል።
የጥቅል ሰራተኛ፤
የህዝብ ክፍል ተቀጣሪ {
}
ከላይ ባለው ምሳሌ መሰረት ሰራተኛው የጥቅል ስም ነው። የሰራተኛ ክፍል የሰራተኞች ጥቅል አካል ነው። ይህ ፋይል እንደ Employee.java በሰራተኛው ጥቅል ላይ ያስቀምጣል።
ከበለጠ፣የወል ክፍል ከአንድ ጥቅል ወደ ሌላ ማስመጣት ይቻላል። የሚከተለውን ምሳሌ ተመልከት።
ስእል 01፡ ክፍል A
ስእል 02፡ ክፍል B
ክፍል A በጥቅል 1 ውስጥ አለ፣ እና ማሳያ የሚባለውን ይፋዊ ዘዴ ይዟል። ክፍል B በጥቅል 2 ውስጥ ነው, እና ዋናውን ዘዴ ይዟል. ምንም እንኳን በተለየ ፓኬጆች ውስጥ ቢሆኑም; ክፍል B ጥቅል1 በማስመጣት የክፍል A ነገር መፍጠር ይችላል። ጥቅል 1ን ካስመጣ በኋላ፣ ክፍል B የክፍል A ውሂብ እና ዘዴዎችን ማግኘት ይችላል።
በአጠቃላይ፣ ጥቅል በጃቫ የፕሮጀክት ፋይሎችን ለማደራጀት ይረዳል። ይህ ትልቅ ስርዓት ሲዘረጋ በጣም ጠቃሚ ነው ምክንያቱም ሁሉንም ፋይሎች በዘዴ ለማከማቸት ያስችላል. ከዚህም በተጨማሪ የጃቫ ኤፒአይ ፓኬጆች ፕሮግራመሮች ቀድሞ የነበሩትን ክፍሎች እንዲጠቀሙ ያስችላቸዋል።
በጃቫ ውስጥ በይነገጽ ምንድነው?
አንዳንድ ጊዜ ፕሮግራም አውጪው የስልቱን ፍቺ ላያውቅ ይችላል። በዚህ ሁኔታ የፕሮግራም አድራጊው ዘዴውን ብቻ ማወጅ ይችላል. የአብስትራክት ዘዴ ፍቺ የሌለው ዘዴ ነው። መግለጫው ብቻ ነው ያለው። ቢያንስ አንድ የአብስትራክት ዘዴ ሲኖር ያ ክፍል ረቂቅ ክፍል ይሆናል። ከዚህም በላይ የአብስትራክት ክፍል ረቂቅ ዘዴዎችን እንዲሁም ረቂቅ ያልሆኑ ዘዴዎችን ሊይዝ ይችላል። ፕሮግራም አውጪው ከክፍል ውስጥ ነገሮችን መፍጠር አይችልም።
አንድ ክፍል አብስትራክት ክፍልን ሲያራዝም አዲሱ ክፍል በአብስትራክት ክፍል ውስጥ ያሉትን ሁሉንም የአብስትራክት ዘዴዎች መግለጽ አለበት። በሌላ አነጋገር አብስትራክት ክፍል A ማሳያ የሚባል ረቂቅ ዘዴ እንዳለው አስብ። ክፍል B ክፍል Aን ያራዝመዋል። ከዚያ ክፍል B የማሳያ ዘዴውን መወሰን አለበት።
የበይነገጽ ምሳሌ በጃቫ
ሁለቱም A እና B ረቂቅ ክፍሎች እንደሆኑ አስብ። ክፍል C A እና B እያራዘመ ከሆነ፣ ያ ክፍል C የሁለቱም ክፍሎች ረቂቅ ዘዴዎችን መግለጽ አለበት።ይህ ብዙ ውርስ ነው። ጃቫ ብዙ ውርስ አይደግፍም። እሱን ተግባራዊ ለማድረግ ፕሮግራመር በይነገጾች መጠቀም አለበት። A እና B በይነገጾች ከሆኑ፣ ክፍል C ሊተገብራቸው ይችላል። የሚከተለውን ምሳሌ ተመልከት።
ስእል 03፡ በይነገጽ A
ስእል 04፡ በይነገጽ B
በይነገጽ ሀ ማሳያ1 አብስትራክት ዘዴ አለው፣በይነገጽ B ደግሞ የማሳያ2 አብስትራክት ዘዴ አለው።
ምስል 05፡ ክፍል C
C ክፍል ሁለቱንም A እና B በይነገጾች ይተገበራል። ስለዚህ ሁለቱንም ዘዴዎች መግለጽ አለበት።
ስእል 06፡ ዋና ዘዴ
አሁን በዋናው ዘዴ የC ነገር መፍጠር እና ሁለቱንም ዘዴዎች መጥራት ይቻላል። በተመሳሳይ መልኩ በይነገጾች ብዙ ውርስን በጃቫ ለመተግበር ያግዛሉ።
ከበርካታ ውርስ ውጪ፣ በይነገጾች ረቂቅነትን ለማግኘት ይረዳሉ። በ OOP ውስጥ አንዱ ዋና ጽንሰ-ሀሳብ ነው። ማጠቃለያ የአተገባበር ዝርዝሮችን ለመደበቅ እና ለተጠቃሚው ተግባራዊነትን ብቻ ለማሳየት ያስችላል። በተጨማሪም፣ ዕቃው እንዴት እንደሚሠራ ሳይሆን በሚሠራው ላይ ማተኮር ያስችላል። በይነገጽ ረቂቅ ዘዴዎችን እንደያዘ፣ ረቂቅን በማህደር ለማስቀመጥ ይረዳል።
በጃቫ ውስጥ በጥቅል እና በይነገጽ መካከል ያለው ልዩነት ምንድን ነው?
ፓኬጅ የመዳረሻ ጥበቃ እና የስም ቦታ አስተዳደርን የሚያቀርቡ ተዛማጅ ክፍሎች ስብስብ ነው።በይነገጽ የአብስትራክት ዘዴዎች ስብስብ ከሆነው ክፍል ጋር ተመሳሳይ የሆነ የማመሳከሪያ ዓይነት ነው። እሽጉ በቀላሉ ለመድረስ እና ለማቆየት ክፍሎችን በዘዴ ለመመደብ ይረዳል። በሌላ በኩል ኢንተርፌስ በርካታ ውርስዎችን ለመተግበር እና ረቂቅነትን ለማግኘት ይረዳል። ይህ በጃቫ ውስጥ በጥቅል እና በይነገጽ መካከል ያለው ዋና ልዩነት ነው። በተጨማሪ፣ ጥቅል የመጻፍ መንገድ እንደ java.util፣ java.awt ባሉ በትንንሽ ሆሄያት ነው። የበይነገጽ ስም አካባቢ ከሆነ ተጽፏል፣ በይነገጽ አካባቢ።
ማጠቃለያ - ጥቅል vs በጃቫ
በጃቫ ውስጥ በጥቅል እና በይነገጽ መካከል ያለው ልዩነት ፓኬጅ ክፍሎቹን በዘዴ ለመመደብ እና በቀላሉ ለማቆየት የሚረዳ ሲሆን ኢንተርፌስ ደግሞ በርካታ ውርስዎችን ለመተግበር እና ረቂቅነትን ለማግኘት ይረዳል።