මුලින්ම මම කියන්න කැමතියි ජව programming කරන්න හොඳ IDE එකක් වන NetBeens Download කරගෙන install කරගන්න විදිය කියවෙන video එකක්.මං තමයි නිර්මාණයකරේ. NetBeens වල ඔයාලට ලේසියෙන් programming කරන්න පලුවන්.
අද අපි
කතාකරන්න යන්නේ ජාවා වල තියන තවත් වැදගත් දෙයක් වෙන Access
Modifier ගැන. අපි මුලින්ම බලමු මේ Access Modifier කියන්නේ මොනවද
කියල. Access Modifier කියල කියන්නේ OOP තියන programming languages
වල class , methods, and other members ලාගෙ accessibility එක control කරන්න
තියන key word වලට තමයි සරලවම කිවොත්.පහත chart එකින් පෙන්නනවා language
කිහිපයක Access Modifier වර්ග.
දැන් අපි බලමු ජව වල තියන Access Modifier
මොනවද කියල.
1) Default
2) Private
3) Public
4) Protected
Default Access Modifier
Default Access Modifier එකට විශ්ෂ
key word එකක් නෑ.අපි නික්කම modifier එකක් නැතිව class,veriable
.... එකක් declare කොරොත් එක වැටෙන්නේ default Access Modifier ගණයට තමයි.එහෙම
දැම්මම ඒ class,veriable,….. එක access කරන්නන පලුවන් ඒ package එක
ඇතුලෙදි විතරයි.අනිත් package ඇතුලේ access කරන්න බෑ.package කියන එක හරියට
තරෙන්නේ නැතිව ඇති.එකට කමක් නෑ ඉස්සරහ පදමකදී ඒ ගැන බලමු.නමුත් මේකේ වෙන එක මේ
විදියට සරලව තරුම් ගන්න පලුවන්.
package main;
public class ClassA {
int defaultVar;
}
package main;
public class ClassB {
public static void
main(String[] args) {
ClassA a = new
ClassA();
int v2 =
a.defaultVar; // works
}
}
package other;
public class ClassC {
public static void
main(String[] args) {
ClassA a = new
ClassA();
int v2 =
a.defaultVar; // doesn't work
}
}
public Access Modifier
public කියන key word එක දාල හදන class,
method, constructor, interface … ජව universe එකේ තියන ඕනෙම class
එකකට access කරන්න පලුවන්.එක නිසා public class එකක් ඇතුලේ හදන ඕනෙම fields,
methods, blocks යන ආදියත්
ඕනෙම ජව unirverse එකේ තියන class එකකට access කරන්න පලුවන්.අපි උදාහරණ කිහිපයක් බලමු.
public static void main(String[] arguments) {
// ...
}
මේ තියන්නේ
ඔයාල හැමෝම දන්නා ජාවා වල main method එක.මේ main method එක ඇතුලේ
තමයි අපි run වෙන්න ඕන සියලුම code ලියන්නේ.එකට හේතුව තමයි main method එක declare කරනකොට
public කරලා declare කරලා තියනවා.
Private Access Modifier
private කියන key word එක
use කරලා අපිට පලුවන් බෝහෝම සාර්ථක විදියට data encapsulate කරන්න.encapsulate කියන්නේ software Engineering
වල එන concept එකක්.අපි බලමු encapsulate කියන්නේ මොකක්ද කියල.සරලව
කිවොත් access කරන්න දෙන්නේ අවශ දේ පමණයි.private විදියට හදන method ,variables
access කරන්න පලුවන් ඒ class
එක ඇතුලේ විතරයි.පහත උදාහරණය බලන්න්න.
public class Car {
public static void main(String
[]args){
van v=new van();
v.start=true;//work
v.wheel=4;//can't access
v.number="GA-2545";//can't access
}
}
class van{
private int wheel;
private String number;
boolean start;
}
ඔයාලට පේනවා ඇති private veriable දෙක වෙන class එකක තුල object එකක් හදල
access කරන්න බැරිබව.අපට එක access කරන ඕනනම් get,set method use කරලා කරන්න
පලුවන්.
public class Car {
public static void main(String
[]args){
van
v=new van();
v.setNumber("NU-5588");
v.setWheel(4);
v.getNumber();
v.getWheel();
}
}
class van{
private int wheel;
private String number;
private boolean start;
int getWheel(){
return wheel;
}
void setWheel(int wheel){
this.wheel=wheel;
}
String
getNumber(){
return number;
}
void
setNumber(String number){
this.number=number;
}
boolean getStart(int i){
if(i==1){
return true;
}else{
return false;
}
}
void setStart(boolean start){
this.start=start;
}
}
Protected Access Modifier
Protected තමයි තේරුම්ගන්න තරමක් අමාරුම access modifier එක වෙන්නේ.class එකකට හරි attribute ,method
එකකට හරි Protected key word එක use කරාම එම class එකට access කරන්න පලුවන්,එම class එක තියන
package එකේ තියන අනිත් class වලට access කරන්න පලුවන්,තවදුරත් ඒ class එකින් ඉන්හෙරිට්
වෙච්ච class එකකත් access කරන්න පලුවන්.default එකත් එක්ක තියන එකම වෙනස තමයි ඉන්හෙරිට්
වූ class වලට protected class access කරන්න පලුවන් වීම.
public class Car extends van{
public static void main(String
[]args){
van
v=new van();
v.number="SP-4578";
v.wheel=5;
v.speed();
}
}
class van{
protected int wheel;
protected String number;
protected boolean start;
protected void speed(){
System.out.println("Speed");
}
private int stop(){
return 1;
}
}
Protected key word එක use
වෙන්නේ යම් class එකක class variable වල accessibility එක සුබ class වලට
පමණක්මද කියල හරියටම confirm කරගන්න තමයි.
මං හිතන්නේ ඔයාලට ජාවා language එකේ තියන access modifiers කුඩා දැනුමක් මේ
පොස්ට් එකින් ලැබෙන්න ඇති කියල.
නැවත
අලුත් පාඩමකින් හමුවෙමු......
No comments:
Post a Comment