Inheritance
Java වල OOP concept 4 ක් පවතිනවා. ඒ තමයි,
- Inheritance
- Encapsulation
- Polymorphism
- Abstraction
අද අපි inheritance ගැන දැන ගමු. යම් කිසි කෙනෙකු විසින් නිර්මාණය කල class එකක features (fields and methods) වෙනත් නිර්මාණයක් සදහා භාවිතා කිරීම inheritance යනුවෙන් සරලවම අපිට හදුනා ගන්න පුළුවන්. මේ සදහා extends keyword එක පාවිච්චි කරන්න පුළුවන්.
කලින් නිර්මාණය කර තිබු හා එහි features inherit කිරීමට ඉඩ දෙන class එක super class (base class/ parent class) එක ලෙසද එම features inherit කරගෙන අලුතින් නිර්මාණය කරන class එක sub class (derived class/ extended class/ child class) එක ලෙසද හදුන්වයි.
Inheritance සංකල්පය reusability සදහා උපකාරී වේ.
මේ inheritance ක්රියාවලියේදී subclass object එක පමණයි create වෙන්නේ. Inheritance ක්රියාවලියේදී super class එකේ byte code එක sub class file එකෙහි නොපවතී. Sub class එක හා super class එක අතර logical link එකක් පමණක් පවතී. Sub class object එකක් නිර්මාණයේදී පළමුව super class එක template object එකක් ලෙස load වේ. ඊට පසු sub class එක template object එකක් ලෙස load වේ. ඊට පසු sub class object එක නිර්මාණයවේ. එම නිසා sub class එකක් වෙනත් computer එකක run කරවීමට super class එකද එම computer එකට ඇතුලත් කල යුතු වේ.
Sub class එක නිර්මාණයේදී super class එකෙහි methods හා variables ද sub class object එකේ නිර්මාණය වන බව ඔයාලා දැන් දන්නවනේ. කලින් ලිපියෙන් මං object initializer ගැන විස්තර කලානේ. object initializer variables initialize කිරීමේදී පළමුව super class එකෙහි variables ද ඉන් පසු sub class එකෙහි variables ද initialize කරයි. Sub class එක run වන විට super class එකෙහි කුමන constructor එක run විය යුතු දැයි ඇතුලත් කර නොමැති නම් compiler විසින් sub class එකේ constructor එක තුල super(); command එක ඇතුලත් කරයි. එවිට object initializer පළමුව super class එකෙහි default constructor එක run කර ඊට පසු sub class එකෙහි constructor එක run කරයි.
අපට super class එකෙහි parameter සහිත වෙනත් constructor එක run කළ යුතු නම් ඊට අදාල parameter සහිත super command එක ඇතුලත් කළ යුතු වේ.
අපි ඊලග ලිපියෙන් Java Encapsulation ගැන විස්තර ඉගෙන ගනිමු.
- චමෝදි -
thank you very much
ReplyDelete