Encapsulation vs Abstraction
ኢንካፕስሌሽን እና ማጠቃለያ በOOP (Object Oriented Programming) ቋንቋዎች የሚገኙ ሁለት የተለያዩ ግን ተዛማጅ ጽንሰ-ሀሳቦች ናቸው። ኢንካፕስሌሽን እንደ አንድ አካል መረጃን እና ባህሪን በአንድ ላይ የማጣመር ጽንሰ-ሀሳብ ነው። በሌላ በኩል፣ አብስትራክሽን የአንድ አካል ባህሪ እንዴት እንደሚተገበር የማቅረብ ሂደት ነው።
ኢንካፕስሌሽን ምንድን ነው?
Encapsulation በእነርሱ ላይ የሚሰሩ መረጃዎችን እና ወደ አንድ አካል የመጠቅለል ሂደት ነው። ይህ በመሠረቱ መረጃን ለመድረስ የተወሰኑ አስቀድሞ የተገለጹ ዘዴዎች ጥቅም ላይ መዋል አለባቸው ማለት ነው።በሌላ አገላለጽ፣ የታሸገ መረጃ በቀጥታ ማግኘት አይቻልም። ይህ ተጠቃሚው እንደፈለገ ውሂቡን በቀጥታ ማግኘት እና ማስተካከል ስለማይችል የመረጃው ታማኝነት መጠበቁን ያረጋግጣል። ተጠቃሚዎቹ የውሂብ እሴቶቹን የሚያገኙት ለተጠቃሚዎች በይፋ በሚገኙ ዘዴዎች ብቻ ነው። እነዚህ ዘዴዎች ብዙውን ጊዜ የመረጃ ማረጋገጫን ይሰጣሉ ስለዚህ በተገቢው ቅርጸት ያለው መረጃ ብቻ ወደ መስኮቹ እንዲገባ ይፈቀድለታል። ስለዚህ, የኢንካፕሌሽን ጥቅሞች ሶስት እጥፍ ናቸው. በኢንካፕስሌሽን አማካኝነት ፕሮግራሚው የክፍል ተነባቢ-ብቻ መስራት ወይም መፃፍ ብቻ ይችላል። በሁለተኛ ደረጃ አንድ ክፍል በእርሻው ውስጥ የተከማቸ ነገር ላይ ሙሉ ቁጥጥር ሊኖረው ይችላል. በመጨረሻም፣ የአንድ ክፍል ተጠቃሚዎች ውሂቡ እንዴት እንደሚከማች መጨነቅ አያስፈልጋቸውም። በጃቫ ውስጥ ፕሮግራመርተኛው ሁሉንም የአብነት ተለዋዋጭ የግል መሆኑን ማወጅ እና የግሉን መስኮች ለመድረስ እና ለማሻሻል ዘዴዎችን (የወል የሆኑትን) ማግኘት እና ማዘጋጀት ይችላል።
አብstraction ምንድን ነው?
አብstraction የአቀራረብ ዝርዝሮችን ከአፈፃፀሙ ዝርዝሮች የመለየት ሂደት ነው።ይህ የሚደረገው ገንቢው ይበልጥ ውስብስብ ከሆኑ የአተገባበር ዝርዝሮች እንዲገላገል ነው። በምትኩ፣ ፕሮግራም አውጪው በአቀራረብ ወይም በህጋዊ አካላት ባህሪ ዝርዝሮች ላይ ማተኮር ይችላል። በቀላል አነጋገር፣ ማጠቃለያ የሚያተኩረው አንድን አካል እንዴት እንደሚተገበር ሳይሆን እንዴት መጠቀም እንደሚቻል ላይ ነው። ረቂቅ በመሰረቱ የትግበራ ዝርዝሮችን ይደብቃል፣ ስለዚህም የአተገባበር ዘዴው በጊዜ ሂደት ቢቀየርም፣ ፕሮግራመር በፕሮግራሙ ላይ እንዴት እንደሚጎዳው አይጨነቅም። ስርዓት በበርካታ ንብርብሮች ወይም ደረጃዎች ሊገለበጥ ይችላል። ለምሳሌ ዝቅተኛ ደረጃ የአብስትራክት ንብርብሮች የሃርድዌር ዝርዝሮችን ያሳያሉ፣ ከፍተኛ ደረጃ ማጠቃለያ ደግሞ የድርጅቱን የንግድ አመክንዮ ብቻ ያሳያል። አብስትራክት የሚለው ቃል ሁለቱንም አካል እና ሂደትን ለማመልከት ሊያገለግል ይችላል እና ይህ ወደ አንዳንድ ግራ መጋባት ያመራል። እንደ ሂደት፣ አብስትራክሽን ማለት የአንድን ንጥል ወይም የንጥሎች ስብስብ አስፈላጊ ዝርዝሮችን ችላ በማለት አስፈላጊ ዝርዝሮችን ማውጣት ማለት ነው፣ እንደ አንድ አካል ግን ረቂቅ ማለት የአንድን አካል ሞዴል ወይም አስፈላጊ ዝርዝሮችን ብቻ የያዘ እይታ ማለት ነው።በጃቫ ውስጥ ፕሮግራመርተኛው ክፍልን እንደ አብስትራክት ለማወጅ አብስትራክት የሚለውን ቁልፍ ቃል ሊጠቀም ይችላል፣ይህም የገሃዱ አለም ህጋዊ አካል አስፈላጊ ገላጭ ባህሪያትን ይወክላል።
በኢንካፕስሌሽን እና አብስትራክት መካከል ያለው ልዩነት ምንድን ነው?
ምንም እንኳን ኢንካፕስሌሽን እና አብስትራክሽን በነገር ተኮር ፕሮግራሚንግ ቋንቋዎች ውስጥ በጣም የተያያዙ ጽንሰ-ሐሳቦች ቢሆኑም ቁልፍ ልዩነቶች አሏቸው። አብስትራክት ማለት መታየት ያለበትን እና መደበቅ ያለበትን ለመለየት የሚረዳን ዘዴ ነው። ኢንካፕስሌሽን ማለት መታየት ያለበትን እንዲታይ እና መደበቅ ያለበትን እንዲደብቅ መረጃን የማሸግ ዘዴ ነው። በሌላ አነጋገር ኢንካፕስሌሽን ከአብስትራክት የዘለለ አንድ እርምጃ ሊታወቅ ይችላል። አብስትራክት የገሃዱ ዓለም ነገርን ወደ አስፈላጊ ገላጭ ባህሪያቱ ቢቀንስም፣ ማጠቃለል ይህንን የዚያ አካል ተግባር ሞዴሊንግ በማድረግ እና በማገናኘት ይህንን ሃሳብ ያራዝመዋል።