ምናባዊ vs አብስትራክት
ቨርቹዋል እና አብስትራክት በአብዛኛዎቹ የነገር ተኮር (OO) ፕሮግራሚንግ ቋንቋዎች እንደ ጃቫ እና ሲ ጥቅም ላይ የሚውሉ ሁለት ቁልፍ ቃላት ናቸው። በተለያዩ ቋንቋዎች ትርጉሙ ላይ ትንሽ ልዩነቶች ቢኖሩትም ቨርቹዋል እና አብስትራክት ቁልፍ ቃላቶች ለሚያያዙት አካላት በከፊል የመተግበር ስሜት ይሰጣሉ።
አብስትራክት
በተለምዶ፣ የአብስትራክት ክፍሎች፣ እንዲሁም የአብስትራክት ቤዝ ክላስ (ABC) በመባል የሚታወቁት፣ በቅጽበት ሊደረጉ አይችሉም (የዚያ ክፍል ምሳሌ መፍጠር አይቻልም)። ስለዚህ፣ የአብስትራክት ክፍሎች ትርጉም ያላቸው የፕሮግራም አወጣጥ ቋንቋ ውርስ የሚደግፍ ከሆነ ብቻ ነው (ክፍልን ከማራዘም ንዑስ ክፍሎችን የመፍጠር ችሎታ)።አብስትራክት ክፍሎች አብዛኛውን ጊዜ ከፊል ወይም ምንም ትግበራ የሌለውን ረቂቅ ጽንሰ-ሐሳብ ወይም አካልን ይወክላሉ። ስለዚህ፣ የአብስትራክት ክፍሎች የልጆች ክፍሎች የተገኙበት የወላጅ ክፍሎች ሆነው ያገለግላሉ፣ ስለዚህም የሕፃኑ ክፍል ያልተሟሉ የወላጅ ክፍል ባህሪያትን ይጋራል እና እነሱን ለማጠናቀቅ ተግባራዊነት ይጨምራል። የአብስትራክት ክፍሎች የአብስትራክት ዘዴዎችን ሊይዙ ይችላሉ። ረቂቅ ክፍልን የሚያራዝሙ ንዑስ ክፍሎች እነዚህን (የተወረሱ) የአብስትራክት ዘዴዎችን ሊተገበሩ ይችላሉ። የሕፃኑ ክፍል እነዚህን ሁሉ የአብስትራክት ዘዴዎችን ተግባራዊ ካደረገ የኮንክሪት ክፍል ነው። ካልሆነ ግን የልጁ ክፍል እንዲሁ የአብስትራክት ክፍል ይሆናል። ይህ ሁሉ ማለት የፕሮግራም አውጪው ክፍልን እንደ አብስትራክት ሲሰይም ክፍሉ ያልተሟላ እንደሚሆን እና በወራሾች ንዑስ ክፍሎች መሟላት ያለባቸው ንጥረ ነገሮች እንዳሉት እየተናገረች ነው። ይህ በሁለት ፕሮግራመሮች መካከል ስምምነት ለመፍጠር ጥሩ መንገድ ነው ፣ ይህም በሶፍትዌር ልማት ውስጥ ያሉ ተግባራትን ቀላል ያደርገዋል። ለመውረስ ኮድን የሚጽፈው ፕሮግራመር, የስልት ፍቺዎችን በትክክል መከተል ያስፈልገዋል (ነገር ግን በእርግጥ የራሷ አተገባበር ሊኖራት ይችላል).በጃቫ እና ሲየአብስትራክት ክፍሎች እና ዘዴዎች የአብስትራክት ቁልፍ ቃል ተጠቅመዋል።
ምናባዊ
ምናባዊ ዘዴዎች/ተግባራቶች ባህሪውን በአማራጭ በውርስ ክፍል የመሻር ችሎታን ይሰጣሉ (ተመሳሳይ ፊርማ ያለው ተግባር በመጠቀም)። በሚከተለው ሁኔታ የቨርቹዋል ተግባር ጽንሰ-ሀሳብ አስፈላጊ ነው። አንድ ክፍል በሕፃን ክፍል የተገኘ ነው እንበል፣ ከዚያ በማንኛውም ጊዜ የተወሰደው ክፍል ነገር ጥቅም ላይ በሚውልበት ጊዜ የመሠረታዊ ክፍል ወይም የተገኘውን ክፍል ሊያመለክት ይችላል። ነገር ግን የመሠረታዊ ክፍል ዘዴዎች ከተሻሩ የስልት ጥሪ ባህሪ አሻሚ ሊሆን ይችላል. ስለዚህ, ይህንን አሻሚነት ለመፍታት, ምናባዊ ቁልፍ ቃል ጥቅም ላይ ይውላል. ዘዴው ምናባዊ ምልክት ከተደረገበት, የተገኘው ክፍል ተግባር (ካለ) ይባላል, አለበለዚያ የመሠረት ክፍሉ ተግባር ይባላል. ለምሳሌ, በ C ++ ውስጥ, ምናባዊ ቁልፍ ቃል ለዚህ ዓላማ በትክክል ጥቅም ላይ ይውላል. በ Cውስጥ ቨርቹዋል ቁልፍ ቃል በተመሳሳይ መንገድ ጥቅም ላይ ይውላል, ነገር ግን በተጨማሪ, ቁልፍ ቃል መሻር ሁሉንም የተሻሩ ዘዴዎችን ለማሻሻል ጥቅም ላይ መዋል አለበት.በጃቫ ግን ግልጽ የሆነ ምናባዊ ቁልፍ ቃል የለም። ሁሉም የማይንቀሳቀሱ ዘዴዎች እንደ ምናባዊ ይቆጠራሉ። አካል የሌላቸው ምናባዊ ተግባራት ንፁህ ምናባዊ ተግባራት ይባላሉ። በጃቫ እና ሲየአብስትራክት ዘዴዎች በእውነቱ ንጹህ ምናባዊ ናቸው።
በምናባዊ እና አብስትራክት መካከል ያለው ልዩነት
ምንም እንኳን አብስትራክት እና ቨርቹዋል ሁለት ቁልፍ ቃላት/ፅንሰ-ሀሳቦች ሲሆኑ ለተዛማጅ አካላት ያልተሟሉ ትግበራዎችን ትርጉም የሚሰጡ ቢሆንም ልዩነታቸው አላቸው። የአብስትራክት ዘዴዎች (በአብስትራክት ክፍሎች ውስጥ መገለጽ አለባቸው) ፈፅሞ አተገባበር የላቸውም፣ ምናባዊ ዘዴዎች ግን ትግበራ ሊኖራቸው ይችላል። የአብስትራክት ዘዴዎች በኮንክሪት ክፍል ከተራዘሙ ሁሉም የተወረሱ የአብስትራክት ዘዴዎች መተግበር አለባቸው፣ የተወረሱ ምናባዊ ዘዴዎች ግን ሊሻሩም ላይሆኑ ይችላሉ።