ElaKiri Community
Downloads
Go Back   ElaKiri Community > General > ElaKiri Talk!
Reload this Page Object Oriented Programming II
Reply
 
Thread Tools
(#1)
Old
Mal Baba's Avatar
Mal Baba Mal Baba is offline
Senior Member
Mal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud of
 
Posts: 103,967
Join Date: Apr 2009
Location: fb/37innovate.lk
Send a message via Skype™ to Mal Baba
Angry Object Oriented Programming II - 09-01-2011, 02:33 AM

Object Oriented Programming | වස්තු පාදක ක්‍රමලේඛනය

පසුගිය පාඩමින් අපි Object Oriented Programming වගේම Object සහ Class ගැන පැහැදිලි අවබෝධයක් ලබා ගත්තා මේ දෙවන කොටසින් අපි Object Oriented Programming වල මූලික සංකල්ප 4 ගැන පැහැදිලි කිරීමක් ඇති කරගමු
  1. Encapsulation (සංවෲත හාවය)
  2. Inheritance (පැවත ඒම)
  3. Abstraction (උකහා ගැනීම)
  4. Polymorphism (බහුරූපි භාවය)

Encapsulation (සංවෲත හාවය)



Encapsulation වල මූලිකම අරමුන තමා දත්ත ආරක්ශාකාරීව භාවිතය හා දත්ත වලට අනවශ්‍ය බලපෑම් සිදුවීමට ඇති ඉඩ කඩ අවම කිරීම
අපේ කලින් Table Fan උදාහරණෙ ගත්තොත් එහි තිබෙන Switch එකේ ක්‍රියාකාරිත්වයත් හරියට මේ වගේ ..අපිට Fan එකේ Statues මාරුකිරීනට වඩා ආරක්ශාකාරි ක්‍රමයක් Switch එක මගින් ලැබෙනවා. Computer භාෂාවක් තුලදි මේ සදහා පහසුකම් ලැබෙන්නේ Access Specifiers නමින් හැදින්වෙන Keywords මගිනුයි.මෙහිදී සියලුම Variables වලට Private Access Specifiers ලබා දෙන අතර Functions සියල්ල Public ආකාරයට සපයනවා.



Inheritance (පැවත ඒම)



මෙතනදි Is-A Has-A සම්බන්දය තමා බලපාන්නේ ඒ කියන්නේ Car Is-A Vehicle ,Van Is-A Vehicle , Jeep Is-A Vehicle නම් Vehicle And Car Has-An Engine කියලා කියන්න පුලුවන්. මෙතනදි Vehicle කියන්නේ Super Class එකත් Car කියන්නේ Sub Class එකත් කියලා කියනවා.Vehicle වලින් තමා Car , Van , Jeep තුනම පැවතගෙන එන්නේ ඉහලින් ඉන්නේ Vehicle ඊට යටින් තමා Car , Van , Jeep වගේ එව්වා තියෙන්නේ

Vehicle Class එකේ තියෙන වත්කම් (State ) හා හැසිරීම (Behavior) Car , Van , Jeep තුනේම දකින්න ලැබෙනවා ඒ වගේම Jeep කියන එකට ආවේනික වෙච්ච 4WD වගේ විශේෂ Behaviors අපිට ඒ අදාල Class එකට විතරක් යොදන්න පුලුවන්
.මෙහි විශේෂ වාසිය තමා එකම කේත නැවත නැවත ලිවීමට සිදුවීම අඩුවීම.


Abstraction (උකහා ගැනීම)



වාහන ගැන කතා කරපු නිසා වාහනයකම උදාහරනයක් ගම්මුකෝ
වාහනයක Gearbox එකේ අපිට පෙනෙන ක්‍රියාකාරීත්වය ගත්තොත් ලීවරය යම්කිසි පිහිටුමකට ගත්තොත් අදාල ගියරයට එන්ජිම සම්බන්ද වෙනවා
නමුත් ඇතුලතින් ඒ ගියරය අදාල දැතිරෝද සැකසුම වෙනස් වීම බල තුලනය වගේ සංකීර්න ක්‍රියා රාශියක් වෙනවා නමුත් ඒ කිසිවක් අපිට පෙනෙන් නෑ

Abstraction වලදිත් අපිට ලබා දෙන්නේ මේවගේ දෙයක් .. අපි යම් කිසි Behavior එකක් සමග වැඩකරනවා නමුත් ඒ පිටුපස තිබෙන සංකීර්න ක්‍රීයාවලි අපට පේන් නෑ .. එය අපෙන් වෙන් වෙලයි තියෙන්නේ.මෙහි තියෙන ලොකුම වාසිය තමා සංකීර්න ක්‍රියාවලියේ වෙනසක් සිදුවුනා කියලා අපි ඒක පාවිච්චි කරලා තියෙන තැන් වල වෙනසක් සිදු නොවීම
Gear Box එකේ දැතිරෝද සෙට් එක අපි අලුතින් දැම්මා කියලා අපි ගියර්ලීවරය පාලනය කරන හැටි වෙනස් වෙන් නෑ නෙ.



Polymorphism (බහුරූපි භාවය)



එකම Object එක විවිදාකාරයෙන් පැවතීම තමා Polymorphism කියන්නේ ..ඒ කියන්නේ යම්කිසි Object එකක් Inheritance හි Is-A කියන සම්බන්දතාවට එක අවස්ථාවකට වඩා තෘප්ත කරනවානම් එය Polymorphism
විදහා දක්වන්නක්. අපි උදාහරණයකට Double-Cab එකක් ගත්තොත් එහි Car හා Jeep යන දෙකේම ලක්ෂණ තියෙනවා.එතකොට මෙන්න මේ විදියට තමයි දිස් වෙන්නේ


Double-Cab
Is-A Vehicle
Double-Cab Is-A Car
Double-Cab Is-A Jeep

ඔය අවස්තා තුනටම ඕක සත්‍යක් වෙනවා .. එතකොට Double-Cab කියන Object එක Car එකක් විදියටත් පවතිනවා Jeep විදියටත් පවතිනවා Car එකත් Jeep එකත් Vehicle වලින් Inherit වුන නිසා Vehicle එකකුත් වෙනවා


අනිත් බහුලම අවස්තාව තමා Method Overloading අවස්තාව

මෙය මම Gear Box එක සම්බන්ද උදාහරනෙන් පෙන්වන්නම්

මෙහි changeGear() කියලා Method එකක් තියෙනවා යැයි සිතන්නඅපිට changeGear() වලදි අපි කියන ලද ඒ කියන්නේ 1st ,2nd ,3rd වගේ අපි specify කරන Gear එකක්ට මාරු කරන්නත් පුලුවන් නැත්නම් දැනට ඉන්න Gear එකෙ ඉදලා ඉහලට හෝ පහලට ගියරය මාරු කරන්නත් පුලුවන්


අපිට මෙය මෙහෙම ලියන්න පුලුවන් සරලව

Quote:
void changeGear(int gear) {
// move gear to given number
}

void changeGear(String shift) {
// move gear according to givenshift }


හැබැයි Polymorphism කියන්නේ Method Overloading කරන එකටම නෙවෙයි Method Overloading කියන්නේ Polymorphism වල එක් අවස්තාවක් විතරයි
_________________________________________________

OPP ගැන යම් දෙයක් නොතේරුනා නම් ඒ ගැන අහන්න පුලුවන් වැරැද්දක් තියෙනව නම් පෙන්නල දෙන්න.

Object Oriented Programming Part One
_________________



_________________

Special Thanks Confiuzd Programmer
Mal Baba [email protected]

©2011/MB/EK.COM





Last edited by Mal Baba; 09-01-2011 at 03:22 AM.
Reply With Quote
(#2)
Old
Mesozoic's Avatar
Mesozoic Mesozoic is offline
Senior Member
Mesozoic has a spectacular aura aboutMesozoic has a spectacular aura aboutMesozoic has a spectacular aura aboutMesozoic has a spectacular aura about
 
Posts: 789
Join Date: Aug 2011
Location: Cyber Realm
09-01-2011, 02:38 AM

it seems you are an enthusiastic guy for OO.
Reply With Quote
(#3)
Old
prageeth119lk's Avatar
prageeth119lk prageeth119lk is offline
Senior Member
prageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to allprageeth119lk is a name known to all
 
Posts: 16,527
Join Date: Feb 2010
Location: Galle
Send a message via Skype™ to prageeth119lk
09-01-2011, 02:44 AM

mata mewaa click wenne na ban
bump ekak dennam
jayawEwaa
Reply With Quote
(#4)
Old
kellsupun's Avatar
kellsupun kellsupun is offline
Senior Member
kellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant futurekellsupun has a brilliant future
 
Posts: 71,888
Join Date: Feb 2010
Location: Disce aut Discede
09-01-2011, 02:44 AM

marai ne nikn mata tube light wage
Rep denan epa kiyala menna meka kiyanwa
Reply With Quote
(#5)
Old
gayankuwait's Avatar
gayankuwait gayankuwait is offline
Senior Member
gayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud ofgayankuwait has much to be proud of
 
Posts: 57,927
Join Date: Oct 2010
Send a message via Skype™ to gayankuwait
09-01-2011, 02:59 AM

මට නම් මෙලො දෙයක් තෙරෙන්නෙ නැහැ බබා සර්
කමක් නැහැ තෙරෙන අය ඇතිනෙ ඔන්න බම්ප් එකක්
Reply With Quote
(#6)
Old
dj ice cold's Avatar
dj ice cold dj ice cold is offline
Senior Member
dj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to alldj ice cold is a name known to all
 
Posts: 34,467
Join Date: Nov 2010
Location: නෙතූෂි අක්කි ගාව
Send a message via Skype™ to dj ice cold
09-01-2011, 03:09 AM

තොට පිස්සුද යකෝ නිදාගන්න යනවෙලේ මේ මගුලක් දැම්මේ

දැන් බලපන් මට පිස්සු හැදුනද කොහෙද
Reply With Quote
(#7)
Old
Mal Baba's Avatar
Mal Baba Mal Baba is offline
Senior Member
Mal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud of
 
Posts: 103,967
Join Date: Apr 2009
Location: fb/37innovate.lk
Send a message via Skype™ to Mal Baba
09-01-2011, 03:14 AM

Quote:
Originally Posted by Mesozoic View Post
it seems you are an enthusiastic guy for OOP.
yes dear
Reply With Quote
(#8)
Old
sumiya's Avatar
sumiya sumiya is offline
Senior Member
sumiya has a spectacular aura aboutsumiya has a spectacular aura aboutsumiya has a spectacular aura about
 
Posts: 2,217
Join Date: Apr 2007
Location: NCL (uk)
Send a message via Yahoo to sumiya
09-01-2011, 03:19 AM

great work man can u post old post links here...!
Rep +++
Reply With Quote
(#9)
Old
Mal Baba's Avatar
Mal Baba Mal Baba is offline
Senior Member
Mal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud ofMal Baba has much to be proud of
 
Posts: 103,967
Join Date: Apr 2009
Location: fb/37innovate.lk
Send a message via Skype™ to Mal Baba
09-01-2011, 03:22 AM

Quote:
Originally Posted by sumiya View Post
great work man can u post old post links here...!
Rep +++
first one macho


http://www.elakiri.com/forum/showthread.php?t=1175805
Reply With Quote
(#10)
Old
sumiya's Avatar
sumiya sumiya is offline
Senior Member
sumiya has a spectacular aura aboutsumiya has a spectacular aura aboutsumiya has a spectacular aura about
 
Posts: 2,217
Join Date: Apr 2007
Location: NCL (uk)
Send a message via Yahoo to sumiya
Up 09-01-2011, 03:31 AM

Quote:
Originally Posted by Mal Baba View Post
Thanx macho
Reply With Quote
Reply

Bookmarks

Tags
*programming :p, c++, code, malbaba, opp, programing

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Copyright © 2006 - 2011 ElaKiri™ Beta2.Evo vBulletin, vBa iBproArcade Subdreamer I-Magic MKv

Page generated in 0.06378 seconds with 11 queries