What is inheritance ?
අපි අද කතා කරන්න යන්නේ OOP වල ප්රධාන concept එකක් වෙන inheritance කියන්නේ මොකද්ද කියලා ?
සරලව කිව්වොත් inheritance කියලා කියන්නේ එක class එකක තියන දේවල් ටිකක් තවත් class එකකට ගන්න ක්රියාවලිය. අපි මේ කතාව example එකකින් බලමු.
මුල්ම image එකේ තියෙන්නේ පරණ Nokia phone එකක්. අන්න ඒ phone එකේ තියන features අරගෙන තවදුටරත් වැඩි දියුණු කරලා Nokia Smart phone එකක් හදනවා.ඒ කියන්නෙ හරියට එක පරම්පරාවක තියන දෙයක් තවත් පරම්පරවකට දෙනවා. ඒ වගේ දෙයක් තමා inheritance වලදි වෙන්නේ.
මෙතනදි Smart phone එක තමා, පරණ Nokia phone එකෙන් inherit වෙන්නේ.Smart phone හැදිලා තියෙන්නේ පරණ Nokia phone එකේ features එකතු වෙලා.
ඊළඟට අපි බලමු inheritance වල තියන super class & sub class කියන්නේ මොනවද කියලා?
අපි ගත්ත phone example එකට අනුව පරණ Nokia phone එක තමා super class එක, Smart phone එක තමා sub class එක.
Super class Subclass
Super class Subclass
Super class(Old Nokia phone)
name
price
call( )
SMS( )
- Sub class එක හදද්දි අලුත් features වගේම super class එකේ තිබුණ ගති ලක්ෂණ ,කාර්යයන් එකතු වෙනවා.
Sub class(Smart Nokia phone)
name
price
call( )
SMS( )
camera( )
Email( )
Bluetooth ( )
Bluetooth ( )
දැන් පොඩි idea එකක් ආවා නේද? inheritance කියන එක ඕන වුණේ කලින් හදපු දෙයක් පාවිචි කරලා,ඒක වැඩි දියුණු කරලා තවත් අලුත් දෙයක් හදන්න කියලා.
දැන් අපි බලමු coding එක්ක කොහොමද inheritance ක්රියාවලිය වෙන්නේ කියලා ?
- // code for OldPhone - (Super class)
- class OldPhone{
- String name;
- int price;
- void call( )
- {
- }
- void sms( )
- {
- }
- }
- //code for SmartPhone - (Sub class)
- class SmartPhone extends OldPhone{
- void camera( )
- {
- }
- void Email( )
- {
- }
- void Bluetooth ( )
- {
- }
- }
මේකේ code line no :2 - 14 වන තෙක් තියෙන්නේ Old phone(Super class) එකට අදාළ coding part එක.
ඊළඟට code line no :18 - 33 දක්වා තියෙන්නේ Smart phone(sub class) එකට අදාළ coding part එක. ඒකේ " class SmartPhone extends OldPhone " (code line no 18) කියලා තියන code එකෙන් කියවෙන්නේ Old phone එකේ තිබුණ දේවල් Smart phone එකට inherit කරන්න කියලා. එතකොට වෙන්නේ Old phone එකේ තිබ්බ හැම feature එකක්ම Smart phone එකට add වෙනවා. ඊට අමතරව camera,Email, Bluetooth වගේ අලුත් facilities එකතු කරනවා.මේ ක්රියාවලිය තමයි inheritance කියලා කියන්නේ.
" class SmartPhone extends OldPhone " . මෙතන "extends" කියන්නේ keyword එකක්.
පොඩ්ඩක් Supper class එකේ code එක බලන්න.Super class එකේ තියෙන්නේ common data. Sub class එකේ specific data තියනවා.
මේ කිව්ව දේවල් එක්ක inheritance කියන්නේ මොකද්ද කියලා කියන්න පුළුවන්ද? inheritance කියන්නේ එක class එකක තියන පොදු දේවල් ටිකක් තව class එකකට අරගෙන ඒ class එකට විශේෂ වුණ දේවල් ටික දාලා පහසුකම් වැඩි අලුත් class එක්ක හදන ක්රියාවලිය.
එසේ නම් OOP වල ප්රධාන concept එකක් වෙන inheritance ගැන තමා මම අද ඔයාලට තොරතුරු අරන් අවේ. මම ලඟදීම මේ වගේ වැදගත් වෙන තොරතුරු ටිකක් අරන් එන්න බලාපොරොත්තු වෙනවා.දිගටම Blog එකත් එක්ක ඉන්න කියලා ආරාධනා කරනවා.
Great work����..keep up.
ReplyDeleteWell done 👌👌
Delete✌️🤩🤩
DeleteThanks 🤩 🤩
DeleteGood ගොඩක් හොඳයි👍
ReplyDelete✌️����
DeleteGreat.😍😍😍
ReplyDelete✌️🤩🤩
DeleteWell done!!!
ReplyDelete✌️😍😍
DeleteCongratulations..!!great work...👍👍
ReplyDeleteThanks 🤩🤩
DeleteWow.. 😍😍 keep it up..
ReplyDeleteThanks 🤩🤩
DeleteSuuper keep it up❤️❤️
ReplyDeleteGood job ����
ReplyDeleteThanks 🤩🤩
DeleteGreat job!
ReplyDeleteWoow dr super
ReplyDeleteThanks 🤩 🤩
DeleteNiyamai👍👍
ReplyDeleteNiyamai digatama karagena yanna apita godaaak dewal igena ganna aeki meken...
ReplyDeleteThanks dilum 💪💪🤩🤩
DeleteGood job🤩
ReplyDeleteThanks 🤩🤩
DeleteSuperb❤🔥
ReplyDelete👍👍 good job
ReplyDeleteThanks 🤩 🤩
DeleteGreat work kaushalaya 🔥🔥❤️
ReplyDeleteThanks desh 💪💪🤩🤩
Delete😍😍😍Great work keep it up
ReplyDeleteThanks brandoo 💪💪🤩🤩
DeleteGreat work!!!!
ReplyDeleteGreat work 🙌👌
ReplyDeleteThanks 🤝🤩🤩
DeleteGreat work 👌🙌
ReplyDeleteThanks 🤝🤩🤩
DeleteGood❤️
ReplyDeleteThanks 🤝🤩🤩
DeleteGreat :) keep it up
ReplyDeleteThanks Thisal 🤝🤩🤩
Deletesuperb..❤
ReplyDeleteThanks 🤝🤩🤩
DeleteSuperb work✌ Good luck♥️
ReplyDeleteThanks akke 🤝🤩🤩
DeleteSuperb.. ❤️
ReplyDeleteThanks Chamathka 🤝🤩🤩
DeleteGreat work✌️✌️✌️
ReplyDeleteThanks 🤝🤩🤩
DeleteGreat work
ReplyDeleteThanks Ishan 🤩🤩
DeleteGreat explanation with examples. Keep it up.
ReplyDeleteThanks 🤝🤩🤩
Delete🔥🔥❤️
ReplyDeleteThanks 🤩🤩
DeleteGood Job
ReplyDeleteThanks 🤩 🤩
DeleteGood job!♥️👌
ReplyDeleteThanks dr 😍 😍
DeleteSuper 👍👍🤝🤝🔥🔥🔥
ReplyDeleteThank u so much 🤝
DeleteWoow.. 👌👌👌
ReplyDeleteGreat
ReplyDeleteGood job.keep it up dr👍
ReplyDelete❤️🔥✌️
ReplyDeleteGreat work!!
ReplyDeleteනියමයි 👌 👌👌💪💜️
ReplyDelete👍❤
ReplyDeleteSuperb❤️.keep it up👍💪
ReplyDeleteNiyamai..❤️ Digatama karagena yanna..
ReplyDeleteGood luck��
Great work 👍👍👍👍👍👍👍👍❤
ReplyDeleteGreat work 👌💛
ReplyDeleteWell done..��♥️
ReplyDeleteනියමයි.❤
ReplyDeletegood work!!
ReplyDelete