რა არის აბსტრაქცია ობიექტზე ორიენტირებულ პროგრამირებაში (OOP)?
sobes.tech AI
პასუხი AI-სგან
ඔබ්ජෙක්ට්-කේන්ද්රිත වැඩසටහන (ООපී) තුළ අබස්ට්රැක්ෂන් යනු, වස්තුවේ මූලික ලක්ෂණ මත අවධානය යොමු කරමින්, ක්රියාත්මක කිරීමේ අසත්ය විස්තර මැවීමේ හැකියාවක් වන යන්ත්රණයකි. එය පද්ධතියේ සංකීර්ණතාවය කළමනාකරණය කිරීමට උදව් කරයි, වස්තුන්ගේ හැසිරීම සහ අන්තර්ක්රියාවන් මත පෙන්වමින්, ඔවුන්ගේ අභ්යන්තර ව්යුහය නොව.
අබස්ට්රැක්ෂන්ගේ මූලික පැතිකඩ:
- මූලික ගුණාංග සහ හැසිරීම් තෝරා ගැනීම: විසඳීමට වැදගත් ලක්ෂණ පමණක් විස්තර කරයි.
- අභ්යන්තර විස්තර මැවීම: වස්තුවේ අභ්යන්තර සැකසුම බාහිර ලෝකයෙන් මැවී ඇත.
- සාමාන්ය ආකෘති නිර්මාණය: සාමාන්ය අතුරුමුහුණතක් මඟින් වස්තු සමඟ වැඩ කිරීමට හැකිවීම, ඔවුන්ගේ නියමිත වර්ගය මත නොව.
ООපී භාෂා වල ක්රියාත්මක උදාහරණ:
-
අබස්ට්රැක්ට් පන්තියන්: සෘජුවම ආදර්ශනය කළ නොහැකි පන්තියන්. ඔවුන්ට අබස්ට්රැක්ට් ක්රමයන් අඩංගු විය හැකිය, ඒවා උරුමකළ පන්තියන් විසින් ක්රියාත්මක කළ යුතුයි.
// අබස්ට්රැක්ට් පන්තිය Shape abstract class Shape { // භූමිය ලබා ගැනීම සඳහා අබස්ට්රැක්ට් ක්රමය abstract double getArea(); // සාමාන්ය ක්රමය void display() { System.out.println("මෙය ආකෘතියකි."); } } -
අතුරුමුහුණත්: සම්පූර්ණ අබස්ට්රැක්ට් වර්ග, ක්රමයන්ගේ එකතුවක් අර්ථ දක්වයි, ක්රියාත්මක වර්ගයන් විසින් අනුගමනය කළ යුතු කොන්ත්රාත් එකක් ලෙස සේවය කරයි.
// ILogger අතුරුමුහුණත public interface ILogger { // පණිවිඩ ලොග් කිරීමේ ක්රමය void Log(string message); } -
ප්රවේශ මොඩිෆයිකේටර් භාවිතය:
private,protected,publicමඟින් පන්තියෙහි සාමාජිකයන්ගේ දෘශ්යතාවය සහ ප්රවේශය පාලනය කරයි, අභ්යන්තර විස්තර මැවීම.
අබස්ට්රැක්ෂන් පහසු කරයි:
- සංකීර්ණතාව අඩු කිරීම: අනිසි විස්තර මැවීම, පද්ධතියේ අවබෝධය සරල කිරීම.
- ආකෘතික හැකියාව වැඩිදියුණු කිරීම: වස්තුවේ අභ්යන්තර ක්රියාවලිය වෙනස් කිරීම පහසු, එය භාවිතා කරන කේතයට බලපෑමක් නොමැතිව, කොන්ත්රාත් රඳා පවතින්නේ නම්.
- කේතය නැවත භාවිතා කිරීම: අබස්ට්රැක්ට් පන්තියන් සහ අතුරුමුහුණත් සමඟ සාමාන්ය විසඳුම් නිර්මාණය කළ හැකිය.
QA සන්දර්භයේ, අබස්ට්රැක්ෂන් අවබෝධය උදව් කරයි:
- පරීක්ෂණ සින්සියරෝ නිර්මාණය කාර්යක්ෂමව, හැසිරීම මත අවධානය යොමු කරමින්, අභ්යන්තර ලොජික් නොව.
- පරීක්ෂා කළ කේතයේ ව්යුහය සහ අංග අතර අන්තර්ක්රියාවන් පිළිබඳ හොඳ අවබෝධයක් ලබා ගැනීම.
- විශ්වාසදායක සහ නඩත්තු කළ හැකි ස්වයංක්රීය පරීක්ෂණ නිර්මාණය.