Python භාෂාවේ OOP (Object‑Oriented Programming) ගැන මුලින්ම අත්හදා බලන අයට මේ ලිපිය උදව් කරයි. වෙනම වාරිකයන්, function, collection භාවිතා කරලා දත්ත කළමනාකරණය කරලා තියෙන ඔබට, දැන් ගුණාංග (attributes) සහ ක්රියාකාරකම් (methods) එකට ගැලපෙන “කලාස්” (class) කියන සැලසුමක් හඳුන්වා දෙන්නෙමු.
Dev.to වෙතින් ලැබුණු “#01 – Classes & Objects in Python” ලිපියෙන්, class එකක් blueprint එකක්, object එකක් ඒ blueprint එකෙන් memory තුළ නිර්මාණය වූ instance එකක් ලෙස පැහැදිලි කරයි. __init__ method එක constructor එකක් වශයෙන් නව object එකක් සෑදීමේදී ආරම්භක තත්වය සැකසීමට පවත්වාගෙන යයි. self යනු වර්තමාන instance එකට සෘජු සබැඳියක්, එමගින් methods තුළ data modify කරගත හැක.
උදාහරණයක් ලෙස Dog class එකක් බලන්න. name සහ breed යන attributes දෙක self මගින් සුරකිලා, bark() method එකෙන් “Woof!” කියලා output දෙයි. එම class එකෙන් Buddy සහ Luna නම් දෙකේ object දෙකක් තනාලා, වෙන වෙනම bark() කැඳවීමෙන් වෙනස් output ලැබේ.
තවත් ප්රායෝගික උදාහරණයක් UserSession class එකයි. username, role, login_time, is_authenticated යන attributes එකතු කර, login, logout, get_status වැනි methods මගින් session එකේ තත්ත්වය පාලනය කරයි. මෙය real‑world web application එකක authentication mechanism එකක් ලෙස භාවිතා කළ හැක.
class attribute සහ instance attribute අතර වෙනසත් වැදගත්. class attribute එක class body තුළ, methods පිටින් නිර්වචනය කරන අතර, සියලු object වලම ඒකම අගය බෙදාගනී; instance attribute එක __init__ තුළ self.variable ලෙස නිර්වචනය කර, එක් object එකකට පමණක් සීමා වේ. මෙය constants හෝ default values සකස් කිරීමට ඉතා ප්රයෝජනවත්.
ශ්රී ලංකාවට ඇති වැදගත්කම
Python OOP මූලිකතා දැන ගැනීම, ශ්රී ලංකාවේ තරුණ සංවර්ධකයන්ට software development ක්ෂේත්රයේ ගැඹුරු අවබෝධයක් ලබා දේ. class‑based design මඟින් code reuse, maintainability, scalability වැඩි වීම නිසා startups සහ IT companies වල project delivery වේගවත් වේ.
- ඉගෙනුම් ආයතන වල curriculum එකට OOP අන්තර්ගත කිරීම, graduates කාගේම job‑ready බව වැඩි කරයි.
- local businesses ගත කරන development cost අඩු කර, බහු‑project එකකට එක class library භාවිතා කළ හැක.
- AI, data science, web development වැනි අනාගත තාක්ෂණ වලට Python OOP පදනම ඉතාම වැදගත්.
ඉදිරියට Python OOP concepts හොඳින් අධ්යයනය කර, real‑world projects වලට අදාළ class structures නිර්මාණය කිරීම, ඔබේ coding හැකියාවන් නව මට්ටමකට ගෙන යාමට මඟ පෙන්වයි.