Follow us on FaceBook

ජාවා පාඩම් මාලාව - Java Lessons



Classes සහ Objects

  • Classes
ස‍රලවම කිව්වොත් class එකක් යනු object එකක සැලැස්ම වගේ දෙයක්(blue print/prototype). object එකක ලක්ෂණ, ක්‍රියාකාරීත්වය යනාදිය සියල්ල තීරණය කරණු ලබන්නේ class එක විසින්. objects නිමවීමට classes යොදාගන්නවා යන්න දැන් ඔබට පැහැදිලි ඇති. එකම class එකකින් objects අවශ්‍ය තරමක් සැකසිය හැකියි.
class එක සැලසුම් කිරීමේදී එහි object එකට අදාල පහත අංග ඇතුල් කෙරෙනවා. 

  1. attributes/properties/state (වස්තුවට අදාලවන ලක්ෂණ) උදා : වර්ණය, දිග, ප‍රිමාව...
  2. constructors (class එක මගින් object එක සෑදීමේදී object එකේ attributes(ලක්ෂණ) මොනවාදැයි ලබාදීමට භාවිතකෙරේ.)
  3. methods වස්තුවේ ක්‍රියාකාරීත්වය කුමන ආකාරයෙන් වියයුතු දැයි විස්තර කෙරෙන කොටස. ඇතැම් ප‍රිගණක භාෂාවල functions,procedures ලෙසද මෙම කොටස හැඳින්වේ.
අපි class එකකට උදාහ‍රණයක් ලෙස Radio එකක් ගනිමු. 
දැන් බලමු 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]*
}
 * යන්නෙන් අර්ථවත් කරන්නේ එකක් හෝ ඊට වැඩි ගණනක් තිබිය හැකිය යන්නයි.
අපි මේ සඳහා ජාවා කේතයක් ලියමු.
  1. class Radio {  
  2.  //Attributes Declarations  
  3.  String Band;  
  4.  int Volume;  
  5.  float Frequency;  
  6.    
  7.  //Constructors  
  8.  public Radio(){  
  9.   Band="FM";  
  10.   Volume=13;  
  11.   Frequency=90.5f;  
  12.  }  
  13.    
  14.  //Method Declarations  
  15.  public void tuneUp(){  
  16.   if(Frequency < 108.0 )  
  17.    Frequency=Frequency+1;  
  18.  }  
  19.    
  20.  public void tuneDown(){  
  21.   if(Frequency > 88.0 )  
  22.    Frequency=Frequency-1;  
  23.  }  
  24.    
  25.  public void increaseVol(){  
  26.   if(Volume < 48 )  
  27.    Volume=Volume+2;  
  28.  }  
  29.    
  30.  public void decreaseVol(){  
  31.   if(Volume > 2 )  
  32.    Volume=Volume-2;  
  33.  }  
  34. }  

දැන් පේලියෙන් පේලිය ගෙන මෙහි ක්‍රියාකාරීත්වය බලමු.
3,4,5 පේලි වලින් සිදුක‍රන්නේ class එකට අයත් attributes declare ක‍රගැනීමයි.


Share on Google Plus

About admin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment