ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Java හි extends සහ implements අතර වෙනස්කම් – මූලික සංකල්ප සහ ශ්‍රී ලංකා තාක්ෂණයට වැදගත්කම

Java හි extends සහ implements අතර වෙනස්කම් – මූලික සංකල්ප සහ ශ්‍රී ලංකා තාක්ෂණයට වැදගත්කම

Java පාඨමාලාවේ පළමු පියවරේදී අපි Interface එකක් කොන්ට්‍රාක්ට් එකක් වගේ ක්‍රියා කරනවා කියලා දැනගත්තා. දැන් එම කොන්ට්‍රාක්ට් එකක් ක්‍රියාත්මක කරන ‘extends’ සහ ‘implements’ කියන කීවර්ඩ් දෙකේ තේරුම සහ භාවිතය ගැඹුරින් බලමු.

extends vs implements කියන්නේ Java එකේ උරුමය (inheritance) දෙකක් – Implementation inheritance (class) සහ Contract inheritance (interface) – අතර වෙනස පෙන්වන්නයි. extends යනු පළමුව class එකක් හෝ interface එකක් උරුම කරගැනීමට යොදා ගනී. implements යනු class එකක් interface එකක දක්වා ඇති කොන්ට්‍රාක්ට් එකට පිළිතුරු (implementation) සැපයීමට භාවිතා වේ.

Java එකේ class එකක් එක් class එකකට පමණක් extends කළ හැකිය. එකකට වඩා වැඩි class එකක් උරුම කිරීමේදී “ඩයමන්ඩ් ප්‍රශ්නය” (Diamond Problem) උදාවෙයි – එකම method එක කුමන class එකෙන් උරුම කරගන්නාද කියලා ගැටළුවක්. එබැවින් Java එක ඒ ගැටළුවෙන් පළමු වරට වැළැක්වීමට class එකකට එකම parent class එකක් පමණක් ඉඩ දී ඇත.

ඇත්නම්, interface එකක් කිසිඳු implementation නොමැති බැවින් class එකට එකවර බහු interface එකක් implements කිරීමේ හැකියාව ඇත. මෙය බහුකාර්ය (multiple services) එකක් එක class එක තුළ ලබා දීමට ඉතා සුදුසුය. උදාහරණයක් ලෙස PaymentService සහ NotificationService interface දෙකම OnlineOrderService class එක implements කරලා, දෙකේම method දෙකම ලියවිය යුතුය.

ඉතා ප්‍රචලිත ආකෘතියක් වන්නේ class එකක් extends කරගෙන, බහු interface එකක් implements කිරීම. මේ මඟින් class එකේ පදනම් ව්‍යවස්ථාව (base class) එකක් රැගෙන, ඒ සමඟ බහු සේවා (services) එකතු කරගත හැකිය. Spring Boot, Hibernate වැනි framework ගොඩනැගීමේදී මේම ආකාරයේ inheritance hierarchy බහුලව පෙනේ.

Interface එකක් තවත් interface එකක් extends කළ හැකි බැවින් interface hierarchy එකේ බහු inheritance සම්භවය ඇත. මෙයින් එක interface එක තුළ බහු method signatures එකතු කරගත හැකිය. Interface එකේ method ගොඩක් public abstract ලෙස නිර්වචනය වේ, එමෙන්ම variable ගොඩක් public static final ලෙස අර්ථ දක්වයි – ඒවා වෙනස් නොවන (constant) සහ සම්පූර්ණයෙන්ම ප්‍රචලිත (global) බව නිශ්චිත කරයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • ශ්‍රී ලංකාවේ නවක පරිඝණක විද්‍යාඥයන්ට Java හි inheritance පදනම් තේරුම් ගැනීම මඟින් Spring, Hibernate වැනි ප්‍රමුඛ framework භාවිතය පහසු වේ.
  • බහු interface implementation කුසලතා, සිංහල තාක්ෂණ ආරම්භකයන්ට micro‑service architecture හෝ modular design සකස් කිරීමට අවශ්‍ය පදනම සපයයි.
  • ඉදිරිපත් කරන API design වලදී contract‑driven development (interface) ක්‍රමවේදය, ගනුදෙනුකරුවන් හා සේවා සැපයුම්කරුවන් අතර පැහැදිලි සම්බන්ධයක් ගොඩනගයි.
  • කොන්ට්‍රාක්ට් inheritance මඟින් ආයතනික සොෆ්ට්වෙයාර් ව්‍යාපෘතිවල code reuse වැඩි කර, development cost අඩු කරයි.

Java හි extends සහ implements අතර ඇති මූලික වෙනස්කම් දැන ගැනීම, ශ්‍රී ලංකාවේ තාක්ෂණික වෘත්තීන්ට පදනම්මය දැනුමක් වශයෙන් සේවය කරයි. මේ සංකල්පයන් නිවැරදිව යොදා ගතහොත්, ඔබගේ මෘදුකාංග ව්‍යාපෘතිවල scalability, maintainability සහ readability වැඩි වේ.

💡 Java inheritance ගැන ඔබේ අදහස අපට කියන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Java #Inheritance #Interfaces #SriLanka #Programming