በክፍሎች እና በመዋቅሮች መካከል ያለው ልዩነት

በክፍሎች እና በመዋቅሮች መካከል ያለው ልዩነት
በክፍሎች እና በመዋቅሮች መካከል ያለው ልዩነት

ቪዲዮ: በክፍሎች እና በመዋቅሮች መካከል ያለው ልዩነት

ቪዲዮ: በክፍሎች እና በመዋቅሮች መካከል ያለው ልዩነት
ቪዲዮ: ለግማሽ ሰዓት + ዳሽቦርድ ከጭካኔ / ች 2024, ህዳር
Anonim

ክፍሎች vs መዋቅሮች

ከዋነኞቹ የነገር ተኮር (OO) ፕሮግራሚንግ ቋንቋዎች ፅንሰ-ሀሳቦች መካከል ኢንካፕስሌሽን፣ ውርስ እና ፖሊሞርፊዝም ናቸው። ክፍል እና መዋቅር ከ OO ህንጻዎች/መሳሪያዎች ውስጥ ሁለቱ ሲሆኑ ፕሮግራመሮች እነዚህን ፅንሰ-ሀሳቦች በአብዛኛዎቹ የ OO ፕሮግራሚንግ ቋንቋዎች ውስጥ እንዲያሳኩ የሚያግዟቸው (ጃቫ መዋቅሮችን አይሰጥም)። ክፍሎች የገሃዱ ዓለም ነገሮች ረቂቅ መግለጫ ናቸው። አወቃቀሮች ተመሳሳይ አጠቃቀም ካላቸው ክፍሎች ጋር በጣም ተመሳሳይ ናቸው፣ ነገር ግን ከክፍል ጋር ሲነፃፀሩ ጥቂት ገደቦች አሏቸው። ሁለቱም ክፍሎች እና አወቃቀሮች አንድ አይነት የውሂብ አይነት በአንድ ላይ ለመቧደን ጥቅም ላይ ይውላሉ።

ክፍሎች ምንድናቸው?

ክፍሎች የገሃዱ ዓለም ዕቃዎችን ረቂቅ ውክልና ያሳያሉ፣ግንኙነቶቹ ግን እያንዳንዱ ክፍል ከሌሎች ጋር እንዴት እንደተገናኘ ያሳያል። ሁለቱም ክፍሎች እና ግንኙነቶች ባህሪያት ተብለው የሚጠሩ ባህሪያት አሏቸው. በክፍሎቹ ውስጥ ያሉት ዘዴዎች የእነዚህን ክፍሎች ባህሪ ይወክላሉ ወይም ይገልጻሉ። የክፍል ዘዴዎች እና ባህሪያት የክፍሉ አባላት ይባላሉ. በተለምዶ ኢንካፕሌሽን የሚገኘው ባህሪያቱን የግል በማድረግ ሲሆን ህዝባዊ ዘዴዎችን በመፍጠር እነዚያን ባህሪያት ለመድረስ ጥቅም ላይ ሊውል ይችላል. ዕቃ የአንድ ክፍል ምሳሌ ነው። ውርስ ተጠቃሚው ክፍሎችን (ንዑስ ክፍሎች ይባላሉ) ከሌሎች ክፍሎች (ሱፐር ክፍሎች ተብለው ይጠራሉ) እንዲያራዝም ያስችለዋል። ፖሊሞርፊዝም የፕሮግራም አድራጊው የሱፐር መደብ በሆነው ነገር ምትክ የአንድ ክፍልን ነገር እንዲተካ ያስችለዋል። በተለምዶ፣ በችግር ፍቺ ውስጥ የሚገኙት ስሞች በቀጥታ በፕሮግራሙ ውስጥ ክፍሎች ይሆናሉ። እና በተመሳሳይ, ግሶች ዘዴዎች ይሆናሉ. የህዝብ፣ የግል እና የተጠበቁ ለክፍሎች የሚያገለግሉ የተለመዱ የመዳረሻ ማስተካከያዎች ናቸው። የክፍል ዲያግራም የስርዓቶቹን ክፍሎች፣ በክፍሎች መካከል ያለውን ግንኙነት እና ባህሪያቸውን ያሳያል።

መዋቅሮች ምንድን ናቸው?

ከላይ እንደተገለፀው አወቃቀሮች ተመሳሳይ አጠቃቀም ካላቸው ክፍሎች ጋር በጣም ተመሳሳይ ናቸው፣ነገር ግን ከክፍሎች ይልቅ በትንሹ የተገደቡ ናቸው። እንደ እውነቱ ከሆነ ክፍሎች ወደ መዋቅሮች እንደ ማራዘሚያ ሊወሰዱ ይችላሉ. ለምሳሌ፣ መዋቅሮች በC++ ውስጥ ካሉ ክፍሎች ጋር ተመሳሳይ ናቸው፣ ግን በነባሪነት የህዝብ አባላት አሏቸው። የተዋሃደ አይነትን ለመወከል መዋቅር በተጠቃሚው ሊገለጽ ይችላል። ከክፍሎች ጋር በሚመሳሰል መልኩ አወቃቀሮች የበርካታ ዓይነቶች ሊሆኑ የሚችሉ አባላትን ይይዛሉ። የቁልፍ ቃል struct በC እና C++ ውስጥ መዋቅርን ለመግለጽ ጥቅም ላይ ይውላል፣ ቁልፍ ቃሉ ግን መዋቅር በ NET ፕሮግራም ቋንቋዎች ለተመሳሳይ ጥቅም ላይ ይውላል።

በክፍሎች እና በመዋቅሮች መካከል ያለው ልዩነት ምንድነው?

ምንም እንኳን ሁለቱም ክፍሎች እና አወቃቀሮች በፕሮግራሚንግ ቋንቋዎች ውስጥ ተመሳሳይ ግንባታዎች ቢሆኑም ስውር ልዩነቶች አሏቸው። በተለምዶ ክፍሉ የአወቃቀሩ ማራዘሚያ ነው, እና ስለዚህ መዋቅሮች አንዳንድ አንጻራዊ ገደቦች አሏቸው. ለምሳሌ፣ አወቃቀሮችን በC++ ውስጥ ካሉ ክፍሎች ጋር አንድ አይነት ተደርጎ ሊወሰድ ይችላል፣ ነገር ግን አባላት በክፍሎች ውስጥ በነባሪነት ይፋዊ አይደሉም (በመዋቅር በተለየ)።ይህ በእውነቱ በC ++ ውስጥ ተገቢውን የመዳረሻ ማሻሻያዎችን በመጠቀም አንድ ክፍል እና መዋቅር በትክክል ተመሳሳይ ባህሪያትን መግለጽ ይችላሉ ማለት ነው። ነገር ግን በC ውስጥ መዋቅሮች ምንም አይነት ተግባራትን ወይም ከልክ በላይ የተጫኑ ስራዎችን ሊይዙ አይችሉም። የቁልፍ ቃላት ክፍል እና መዋቅር በC++ ውስጥ ክፍልን እና መዋቅርን እንደየቅደም ተከተላቸው ለመግለጽ ጥቅም ላይ ይውላሉ። ወደ NET ቋንቋዎች (C፣ VB. NET ወዘተ) ስንመጣ፣ ክፍል የማጣቀሻ አይነት ሲሆን መዋቅር ደግሞ የእሴት አይነት ነው። እና አብዛኛውን ጊዜ አወቃቀሮች ለትናንሽ ነገሮች ጥቅም ላይ ይውላሉ ነገር ግን ክፍሎች ለረጅም ጊዜ በማህደረ ትውስታ ውስጥ ለተቀመጡ ትላልቅ ነገሮች ያገለግላሉ።

የሚመከር: