Classes සහ Objects
- Classes
class එක සැලසුම් කිරීමේදී එහි object එකට අදාල පහත අංග ඇතුල් කෙරෙනවා.
- attributes/properties/state (වස්තුවට අදාලවන ලක්ෂණ) උදා : වර්ණය, දිග, පරිමාව...
- constructors (class එක මගින් object එක සෑදීමේදී object එකේ attributes(ලක්ෂණ) මොනවාදැයි ලබාදීමට භාවිතකෙරේ.)
- methods වස්තුවේ ක්රියාකාරීත්වය කුමන ආකාරයෙන් වියයුතු දැයි විස්තර කෙරෙන කොටස. ඇතැම් පරිගණක භාෂාවල functions,procedures ලෙසද මෙම කොටස හැඳින්වේ.
දැන් බලමු radio එකේ attributes සහ methods මොනවාද කියලා.
ඕනෑම radio එකකට තියෙනවා band එකක්(තරංග කලාපයක්), ඒවගේමvolume(ශබ්ද ප්රමාණයක්), සුසර කරන ලද සංඛ්යාතයක් (frequency) මේවා සියල්ල අපට radio එකේ attributes/properties ලෙස සලකන්න පුලුවන්.
ඔබ දන්නවා radio එකක් factory එකෙන් පිටවෙනකොට එයට කිසියම් පෙර සකසන ලද වින්යාසයක් (configuration) තිබෙනවා ඒකිව්වෙ ඇතැම් radio එකක frequencyඑක 88.0MHz ලෙසද තවක් එකක 108.0MHz ලෙසද සැකසී එනවා. volume එකත්, band එකටත් මේ කතාව පොදුයි. මෙන්න මේක OOP වලදී ඉටුකරගැනීමට තමයි constructor එකක් භාවිතා කරන්නේ.
මීලඟට radio එකක methods හඳුනා ගනිමු. ඒ කිව්වේ radio එකෙ ක්රියාකාරීත්වයට බලපාන දේවල්. උදාහරණයක් විදියට radio එක සුසර කිරීම(tune) සලකමු. මෙහිදී ඉදිරියට සුසර කිරීම සහ පිටුපසට සුසර කිරීම යනාදී වශයෙන් methods දෙකක් අපට හඳුනා ගන්න පුලුවන් tuneUp සහ tuneDown වශයෙන් අපි ඒවා නම් කරමු. volume එකටත් එලෙසටම increaseVol සහ decreaseVol ලෙස methods 2ක් ගනිමු.
මේ ආකාරයට ඕනෑම object එකක methods සහ attributes හදුනා ගත හැකියි.
දැන් අපි බලමු මෙම class එකට අයිති attributes සහ methods රූපිකව පෙන්වන්නේ කෙසේද කියලා.
දැන් අපි බලමු ඉහත class එක ජාවා තුලදී නිර්මාණය කරගන්නේ කෙසේද කියලා.
class ClassName {* යන්නෙන් අර්ථවත් කරන්නේ එකක් හෝ ඊට වැඩි ගණනක් තිබිය හැකිය යන්නයි.
[Attribute Declarations]*
[Constructors]*
[Method Declarations]*
}
අපි මේ සඳහා ජාවා කේතයක් ලියමු.
- class Radio {
- //Attributes Declarations
- String Band;
- int Volume;
- float Frequency;
- //Constructors
- public Radio(){
- Band="FM";
- Volume=13;
- Frequency=90.5f;
- }
- //Method Declarations
- public void tuneUp(){
- if(Frequency < 108.0 )
- Frequency=Frequency+1;
- }
- public void tuneDown(){
- if(Frequency > 88.0 )
- Frequency=Frequency-1;
- }
- public void increaseVol(){
- if(Volume < 48 )
- Volume=Volume+2;
- }
- public void decreaseVol(){
- if(Volume > 2 )
- Volume=Volume-2;
- }
- }
දැන් පේලියෙන් පේලිය ගෙන මෙහි ක්රියාකාරීත්වය බලමු.
3,4,5 පේලි වලින් සිදුකරන්නේ class එකට අයත් attributes declare කරගැනීමයි.


0 comments:
Post a Comment