“abstract” Keyword භාවිතයෙන් Declare කරන ලද Class Abstract Class ලෙස හැඳින්වේ. එයට Abstract Method (Body නොමැති Method) මෙන්ම Concrete Method (Body සමඟ Method) තිබිය හැකිය. සාමාන්‍ය Class එකකට (Abstract නොවන Class) Abstract Method තිබිය නොහැක.
Abstract Class ක්ෂණිකව දැක්විය නොහැක, එයින් අදහස් කරන්නේ ඔබට එය Object නිර්මාණය කිරීමට අවසර නැති බවයි.
 

අපට Abstract Classes අවශ්‍ය ඇයි?

Dog, Lion, Horse, Cat වැනි Method sounds() සහ Sub class (Inheritance බලන්න) වැනි Animal Class අප සතුව ඇති බව කියමු. Animal Sound එක් සතෙකුගෙන් තවත් සතෙකුට වෙනස් බැවින් ක්‍රියාත්මක කිරීමට කිසිදු තේරුමක් නැත. මෙයට හේතුව සෑම Child class තමන්ගේම Implementation කිරීමේ තොරතුරු ලබා දීම සඳහා මෙම Methods Override කල යුතු අතර, Lion Class මෙම ක්‍රමයේදී “Roar” යැයි පවසන අතර Dog Class “Woof” යැයි කියනු ඇත.

එබැවින් සියලුම Animal Child Class මෙම Methods Override කල යුතු බව අප දන්නා විට, Parent Class මෙම Method Implement කිරීමට කිසිදු තේරුමක් නැත. මේ අනුව, මෙම Method Abstract කිරීම හොඳ තේරීමක් වනු ඇත. මෙම Method Abstract කිරීම මගින් අපි සියලු Sub Classes මෙම Method Implement කිරීමට බල කරමු (එසේ නොමැතිනම් ඔබට Compile Error ලැබෙනු ඇත), එසේම අපි මෙම Method Parent Class එකට Implement ලබා නොදිය යුතුය.

Animal Class එක තුල Abstract Method ඇති බැවින්, ඔබ මෙම Method Abstract කළ යුතුය.

දැන් සෑම සතෙකුටම ශබ්දයක් තිබිය යුතුය, මෙම Method Abstract කිරීම මගින් මෙම Method Implement කිරීමේ තොරතුරු ලබා දීම Child Class අනිවාර්ය කර ඇත. මේ ආකාරයෙන් සෑම සතෙකුටම ශබ්දයක් ඇති බව අපි සහතික කරමු(Animal Has Sound). 

Example


සටහන :

Abstract Class ක්ෂණිකව දැක්විය නොහැක, එයින් අදහස් කරන්නේ ඔබට එහි Object නිර්මාණය කළ නොහැකි බවයි. මෙම Class භාවිතා කිරීම සඳහා, ඔබ මෙම Class Extend කරන සහ Abstract Methods Implement කරන වෙනත් Class නිර්මාණය කළ යුතුය, එවිට ඔබට එම Child Class Object භාවිතා කර Parent Class යේ Non-Abstract Methods මෙන්ම Implement කරන ලද Methods එය Parent තුළ Abstract නමුත් Child Class යේ ක්‍රියාත්මක කරයි.

Copyright © 2022 All Right Reseved