ኣብ ዓውዲ ነገራት-ተኮር ፕሮግራሚንግ፡ ንኣክሰስ ሞዲፋየርስ ምርዳእ፡ ድልዱልን ክዕቀብን ዝኽእል ኮድ ንምንዳፍ ወሳኒ እዩ። ኣምር ናይ ዝተሓለወን ብሕታውን ። ደረጃታት ተበጻሕነት ኣብ ምዕሻግ ልዑል ተራ ኣለዎም፣ እዚ መሰረታዊ መትከል እዚ ንጽሬት ናይ ሓደ ነገር ኩነታት ዘረጋግጽ እዩ መብዛሕትኡ ግዜ ዲቨሎፐራት ኣብ ውሽጢ ኣፕሊኬሽናቶም ተበጻሕነትን ድሕነትን ሚዛን ንምሃብ ካብዞም ክልተ መቐየሪታት ንምምራጽ ይቃለሱ። እዚ ጽሑፍ እዚ ኣብ ንኡስ ንኡሳን ነገራት ናይ ዝተሓለዉ ናይ ገዛእ ርእሶም ኣባላት ዕምቆት ይገብር፣ ኣብ ዝተፈላለዩ ቋንቋታት ፕሮግራሚንግ ዘለዎም ትርጉም ይምርምር።
መእተዊ መቐየሪታት ኣብ ነገራት ዝቐንዐ ቋንቋታት ተበጻሕነት ክፍልታት፡ ኣገባባትን ተለዋዋጢ ነገራትን ንምቕማጥ ዝጥቀሙሉ ቁልፊ ቃላት እዮም። ኣባላት ሓደ ክፍሊ ኣብ ካልእ ክፋላት ናይቲ መደብ ብኸመይ ክረኽብዎም ከም ዝኽእሉ ይገልጹ። እቶም ቀንዲ ናይ መእተዊ መቐየሪታት ህዝባዊ , ዝሕሎ , ብሕታዊ , ሓደ ሓደ ግዜ ድማ ነባሪ ወይ ውሽጣዊ , የጠቓልሉ።ከከም ቋንቋ
ከም ዝተኣወጁ ኣባላት ህዝቢ ካብ ዝኾነ ካልእ ደርቢ ተበጻሒ እዮም። እዚ ደረጃ ተበፃሕነት ዝሰፍሐ ተበፃሕነት ዘኽእል ኮይኑ ግን ንዘይተሓሰበ ምትእስሳርን ምጉዳል ምዕሻግን ከስዕብ ይኽእል።
እቲ ናይ ብሕቲ መእተዊ መቐየሪ ንርእይቶ ኣባላት ክፍሊ ኣብቲ ዝተኣወጁሉ ክፍሊ ይድርት። እዚ ድማ ልዑል ደረጃ ምዕሻግ የረጋግጽ፣ ናይ ደገ ክፍልታት ብቐጥታ ነዞም ኣባላት ከይረኽብዎም ወይ ከይቅይርዎም ይኽልክል።
እቲ ዝተሓለወ መቐየሪ ዘለዎም ኣባላት ኣብ ውሽጢ ናይ ገዛእ ርእሶም ክፍልን ብዝተረኽበ ክፍልታትን ተበጻሕቲ እዮም። እዚ ደረጃ ተበጻሕነት ኣብ መንጎ ሚዛን ይሕዝ ውልቃውን መንግስታውን ።, ንኡሳን ክፍልታት ገለ ደረጃ ምዕሻግ እናዓቀቡ ተግባራዊነት ክጥቀሙን ከናውሑን የኽእሎም
ኣብ መንጎ ዘሎ መሰረታዊ ፍልልይ ናይ ብሕቲን ዝተሓለዉን ተበፃሕነት መቐየሪታት ኣብቲ ንንኡሳን ክፍልታትን ግዳማዊ ክፍልታትን ዝወሃብ ደረጃ ተበፃሕነት እዩ።
ናይ ብሕቲ ኣባላት ኣብ ንኡሳን ክፍልታት ኣይርከቡን እዮም፣ ዋላ እቲ ንኡስ ክፍሊ ኣብ ውሽጢ ሓደ ፓኬጅ ወይ ሞዱል ይኹን። እዚ ማለት ብሕታዊ ተባሂሎም ዝተኣወጁ ሜላታት ወይ ተቐያየርቲ ኣብ ዝተረኽቡ ክፍልታት ክውረሱ ወይ ብቐጥታ ክጥቀሙ ኣይክእሉን እዮም። ብኣንጻሩ ፡ ዝተሓለዉ ናይ ገዛእ ርእሶም ኣባላት ኣብ ውሽጢ ንኡሳን መደባት ተበጻሕቲ ብምዃኖም፡ ውርሻን ፖሊሞርፊዝምን ብኣድማዒ መንገዲ ንኽሰርሑ የኽእሉ።
ምጥቃም ናይ ብሕቲ ኣባላት ዝርዝር ኣተገባብራ ካብ ኩሎም ካልኦት ክፍልታት ብምሕባእ ምዕሻግ የዕብዮ። እዚ ድማ ዘይተሓሰበ ምትእትታው ክከላኸል ይኽእል እዩ ግን ንመዝርጋሕ ክድርት ይኽእል። ብኻልእ ወገን ድማ ፡ ዝተሓለዉ ኣባላት ንገለ ዝርዝራት ንንኡሳን መደባት የቃልዑ፡ እዚ ድማ ንምንዋሕ የመቻችእ፡ ብጥንቃቐ እንተዘይተመሓደሪ ግን ንመሸፈኒ ኣብ ሓደጋ ከእትዉ ይኽእሉ።
ኣብ መንጎ ምምራጽ ዝተሓለወን ብሕታውን ። ኣብቲ ፍሉይ ጠለባት ናይቲ ዝምዕብል ዘሎ ሶፍትዌር ይምርኮስ
ተጠቐም ። ብሕታዊ ጽኑዕ ምዕሻግ ከተተግብር ኣብ እትደልየሉ እዋን እዚ ካብ ክፍሊ ወጻኢ ክቕየሩ ወይ ክረኽብዎም ዘይብሎም ናይ ዩቲሊቲ ሜላታት ወይ ተለዋዋጢ ረቛሒታት ዝምችእ እዩ። ንውሽጣዊ ኩነታት ይሕሉን ኣብ ውሽጣዊ ክፍልታት ዝግበር ምምሕያሻት ንደጋዊ ደርብታት ከምዘይጸሉ የረጋግጽን።
ምረጽ ። ዝተሓለዉ ናይ ገዛእ ርእሶም ኣባላት ንውርሻ ዝተሓሰበ ክፍሊ ክትነድፍ ከለኻ እዚ ድማ ንኡሳን ክፍልታት ነዞም ኣባላት ክረኽብዎምን ክቕይርዎምን የኽእሎም፣ እዚ ድማ ዳግመ-ኣጠቓቕማን ምንዋሕን ኮድ የስፋሕፍሕ። ኣብቶም ምዝርጋሕ ቁልፊ ስክፍታ ኣብ ዝኾነሉ ማዕቀፋትን ቤተ-መጻሕፍትን ኣገዳሲ እዩ።
ዝተፈላለዩ ቋንቋታት ነዞም ናይ ምብጻሕ መቐየሪታት ብኸመይ ከም ዘተግብርዎም ምርዳእ ንልምዓት ስግረ-ቋንቋታትን ምሉእ ዓቕሚ ናይቲ ኣብ ነገራት ዝተመርኮሰ ፕሮግራሚንግ ንምጥቃምን ወሳኒ እዩ።
ኣብ ጃቫ፡ እቲ ዝተሓለወ መእተዊ መቐየሪ ኣብ ውሽጢ ሓደ ፓኬጅን ንኡሳን ክፍልታትን ዋላ ኣብ ዝተፈላለየ ፓኬጅ እንተሃለዉ ርኡይነት ይህብ። እቲ ናይ ብሕቲ መቐየሪ ናብቲ ዝእውጅ ክፍሊ ጥራይ ምእታው ይድርት። ሓደ ኣብነት እንሆ፤
public class ወላዲ {
ዝተሓለወ void display() {
// ዝተሓለወ ሜላ
}
}
public class ውላድ የናውሕ ወላዲ {
public void show() {
display(); // ተበጻሒ
}
}
C++ ተመሳሳሊ ቅዲ ይኽተል፣ ግን ምስ ምውሳኽ ደረጃታት ምብጻሕ ውርሻ። ዝተሓለዉ ኣባላት ኣብ ዝተረኽቡ ክፍልታት ክበጽሑ እንከለዉ፡ ናይ ብሕቲ ኣባላት ግን ከምኡ ኣይኮኑን።
class Base {
ዝተሓለወ:
int ዝተሓለወVar;
ብሕታዊ:
int ብሕታዊVar;
}፤
class Derived : public መሰረት {
void ተግባር () {
ዝተሓለወVar = 1; // ተበጻሒ
privateVar = 1; // ዘይርከብ
}
};
ኣብ መንጎ ምርጫ ዝተሓለወን ብሕታውን ዘሎ ንተዓጻጻፍነትን ድሕነትን ኮድካ ይጸልዎ።
ምጥቃም ዝተሓለዉ ናይ ገዛእ ርእስኻ ኣባላት ንመዝርጋሕ ክፍልታትካ ይውስኾ። ንኡሳን ክፍልታት ነዞም ኣባላት እዚኦም ነቲ መሰረታዊ ክፍሊ ከይቀየሩ ኣብ ልዕሊ ዝጸንሐ ተግባር ክሃንጹን ክጥቀሙሉን ይኽእሉ።
ካብ መጠን ንላዕሊ ምቅላዕ ናይ ክፍሊ ውሽጣዊ ነገራት ምስ ዝተሓለወ ናብ ናይ ጽገና ብድሆታት ከስዕብ ይኽእል። ኣብ መሰረት ክፍሊ ዝመጽእ ለውጢ ንንኡሳን ክፍልታት ብዘይተጸበናዮ መንገዲ ክጸልዎም ይኽእል እዩ፣ እዚ ድማ ነቲ ኮድቤዝ ንምምሕዳር ኣጸጋሚ ይገብሮ።
ብሉጻት ልምድታት ምኽባር፡ ኣጠቓቕማኻ ናይ መእተዊ መቐየሪታት ንኮድካ ኣብ ክንዲ ዝዕንቅፎ ከም ዘዕብዮ የረጋግጽ።
ኣብ ዝተሓለዉ ኣባላት ካብ መጠን ንላዕሊ ምጽጋዕ ካብ መጠን ንላዕሊ ውርሻ ምልክት ክኸውን ይኽእል። ዳግመ-ኣጠቓቕማ ኮድ ንምዕዋት ቅንብር ምጥቃም ኣብ ግምት ኣእቱ፣ እዚ ድማ መብዛሕትኡ ግዜ ዝያዳ ተዓጻጻፍን ክዕቀብን ዝኽእል ኮድ የስዕብ።
እቲ ዝድለ ዝተሓተ ደረጃ ተበፃሕነት ምሃብ። ሓደ ኣባል ብንኡሳን ክፍልታት ምብጻሕ ዘየድልዮ እንተኾይኑ ፡ ብሕታዊ ግበሮ . እዚ ተግባር እዚ ነቲ ዘይተሓሰበ ጎናዊ ሳዕቤናት ክመጽእ ዝኽእል ተኽእሎታት ይቕንሶ።
ምርጫ ናይ ተበጻሕነት መቐየሪታት ርኡይ ጽልዋታት ዝነበሮም ናይ ሓቂ ዓለም ስናርዮታት ምምርማር ክቡር ርድኢት ክህብ ይኽእል።
ብዙሓት ማዕቀፋት ንዝተሓለዉ ናይ ገዛእ ርእሶም ኣባላት የቃልዑ ኮይኖም ንደቨሎፐራት መሰረታዊ ክፍልታት ከናውሑ የኽእሎም። ንኣብነት ኣብ ዌብ ፍሬምዎርክስ፡ መሰረታዊ ተቖጻጻሪ ክፍልታት መብዛሕትኡ ግዜ ዝተሓለዉ ሜላታት ኣለዎም። ባህሪ ንምምዕርራይ ክግለጹ ዝኽእሉ
ንዝተሓለወ መእተዊ ኣጋጣሚታት ተራእዩ እዩ ። ብዘይግቡእ ምጥቃም ናብ ድሕንነት ተቓላዕነት ዘስዓበሉ ንኡሳን ክፍልታት ብዘይተሓሰበ መንገዲ ንውሽጣዊ መሰረታዊ ክፍሊ ይበጽሑን ኣመሓይሾምን፣ ዘይምርግጋእን ምፍራስን ፈጢሮም።
ቋንቋ-ፍሉያት ባህርያት፡ ናይ መእተዊ መቐየሪታት ከመይ ከም ዝመላለሱ ክጸልዉ ይኽእሉ እዮም፡ ሶፍትዌር ክነድፉ ከለዉ ድማ ኣብ ግምት ክኣትዉ ይግባእ።
C++ ንኣምር ዓርኪ ክፍልታትን ተግባራትን የላልየና፣ እዚ ድማ ንብሕታውያንን ዝተሓለዉን ኣባላት ካልእ ክፍሊ ክበጽሑ ይኽእሉ። እዚ ባህሪ እዚ ንመቆጻጸሪ ምብጻሕ ዝተሓላለኸ ስለዝውስኽ ብብልሓት ክጥቀመሉ ኣለዎ።
ከም ጃቫን ሲ#ን ዝኣመሰሉ ቋንቋታት ነጸብራቕ የፍቅዱ፣ እዚ ድማ ኣብ ግዜ ምዝዋር ንናይ ብሕቲ ኣባላት ክበጽሕ ይኽእል። እዚ ዓቕሚ እዚ ሓያል እኳ እንተኾነ ንመቆጻጸሪ ምብጻሕ ከዳኽም ስለ ዝኽእል ብጥንቃቐ ክሕዞ ይግባእ።
ናይ መእተዊ መቐየሪታት ንናይ ኮድ ብኣድማዒ መንገዲ ናይ ምፍታን ዓቕሚ ክጸልዉ ይኽእሉ።
ናይ ብሕቲ ኣባላት ብቐጥታ ምፍታን ብሓፈሻ ተስፋ ኣይቆርጽን እዩ። ኣብ ክንድኡ፡ ፈተነታት ኣብ ህዝባዊ መተሓላለፍቲ ከተኩሩ ይግባእ። እዚ ግን ሓደ ሓደ ግዜ ምሉእ ሽፋን ኮድ ንምርካብ በዳሂ ክገብሮ ይኽእል።
ምጥቃም ዝተሓለዉ ናይ ገዛእ ርእሶም ኣባላት ንኡሳን ክፍልታት ፈተና ንኽበጽሑን ባህሪ መሰረታዊ ክፍሊ ንኽቕይሩን ብምፍቃድ ንፈተነ ከቃልል ይኽእል። እዚ ሜላ ጠቓሚ ክኸውን ይኽእል እዩ ግን ኣብ ዝርዝር ኣተገባብራ ፅግዕተኛነት ንኸይተኣታቶ ብጥንቃቐ ክውዕል ይግባእ።
ሪፋክተርንግ ኮድ ንኣቃውማን ምሕላውን ንምምሕያሽ ናይ መእተዊ መቐየሪታት ምቕያር ከጠቓልል ይኽእል።
ኣብ እዋን ሪፋክተር ምግባር ፡ ተበጻሕነት ኣባላት ካብ ህዝባዊ ወይ ዝተሓለወ ናብ ውልቃዊ ምንካይ ኣብ ግምት ኣእቱ። ፡ ድሕሪ ሕጂ ሰፊሕ ተበጻሕነት ዘየድሊ እንተኾይኑ እዚ ተግባር እዚ ንመሸፈኒ ምዕሻግ የዕብዮን ንሓደጋ ዘይተሓሰበ ምትእስሳር የጉድሎን።
ኣብ ህዝባዊ ኤፒኣይ ደረጃታት መእተዊ ክትቅይር ከለኻ፡ ለውጢ ካብ ምብታኽ ተጠንቀቕ። ምጉዳል ተበጻሕነት ኣብ ኤፒኣይካ ዝምርኮስ ኮድ ናይ ምጥርናፍ ጌጋታት ከስዕብ ይኽእል።
ምዕቡላት ኣምር ምድህሳስ ንርድኢትን ኣተገባብራን ናይ መእተዊ መቐየሪታት ከዕምቖ ይኽእል።
መብዛሕትኡ ግዜ ቅዲ ዲዛይን ፍሉይ ደረጃታት ተበጻሕነት ይእዝዝ። ንኣብነት፡ እቲ ሲንግልተን ፓተርን ካብ ክላስ ወጻኢ ዝመጽእ ምሳሌ ንምክልኻል ናይ ብሕቲ ሃናጺ የድልዮ።
ኣብ ብዙሕ ፈትሊ ዘለዎም መተግበሪታት፡ መእተዊ መቐየሪታት ኣብ ድሕነት ፈትሊ ተራ ኣለዎም። ናይ ብሕቲ ኣባላት ናይ ተደጋጋሚ ናይ ምብጻሕ ጸገማት ክከላኸሉ ይኽእሉ እዮም ግን ኣብ መላእ ፈትሊታት ክካፈሉ ከለዉ ዝተመዓራረየ ምብጻሕ የድልዮም።
ኣብ መንጎ ፍልልይ ምርዳእ ዝተሓለዉን ብሕታዊን መእተዊ መቐየሪታት ዘሎ ውጽኢታዊ ኣብ ነገራት ዝቐንዐ ኮድ ንምጽሓፍ ኣገዳሲ እዩ። እንከሎ ብሕታዊ ዝለዓለ ምዕሻግ (encapsulation) ከረጋግጽ ፡ ዝተሓለዉ ናይ ገዛእ ርእሶም ኣባላት ግን ንኡስ-ደርባዊ ምብጻሕ ብምፍቃድ ሚዛን የቕርቡ። ብዛዕባ ደረጃታት ተበጻሕነት ብግቡእ ዝተሰነየ ውሳነታት ምግባር ድሕነት ኮድ፣ ምዕቃብን ምዝርጋሕን የዕቢ።
ብሉጻት ልምድታት ብምኽባርን ነፍሲ ወከፍ መቐየሪ ዘለዎ ትርጉም ኣብ ግምት ብምእታውን፡ ዲቨሎፐራት ድልዱልን ተዓጻጻፍን ሶፍትዌር ኣርኪቴክቸር ክፈጥሩ ይኽእሉ። ነቲ ዝምጥን ናይ መእተዊ መቐየሪ ምጥቃም ኣብ ሓፈሻዊ ጽሬትን ዓወትን ፕሮጀክትታት ሶፍትዌር ኣበርክቶ ዝገብር ወሳኒ ክእለት እዩ።
ትሕዝቶ ባዶ እዩ!
ትሕዝቶ ባዶ እዩ!