මුලින්ම යලුවනේ
sorry කියලම පටන් ගන්නම් post එකක් leat උනාට මොකද ගොඩාක් වැඩවලට අපි හිරවෙල ඉදියෙ
හොදයි දැන් එහෙනම් පටංඅමු අද පාඩම අද ඔයාලට කියන්න යන්නෙ java
වල තවත් වැදගත් කොටසක් ගැන. ඒ තමයි java inheritance .
යම්
class එකක සදන ලද
objects වෙනත් class එකක සාදන ලද objects වල ගුනාන්ග ඇතුලත්ව සිදු කරන ක්රියාව තමයි inheritance කියල කියන්නෙ . එමනිසා මෙම class දෙකටම පොදුවූ ගුනාන්ග
තිබෙනව.
අදාල ලක්ශන අයත්
class එක child class එක ලෙසත් අදාල ලක්ශන මුලින් තිබුන class එක parent හෙවත් super class එක ලෙස හදුන්වයි.
මෙම ක්රියාව සදහා ජාවා හි පවතින extend නම් key word එක බාවිතා කරනු ලබයි . ඔයාලට වැටහෙනව ඇති software engineering හි බාවිතා වන software reusability යන සන්කල්පය මෙම කොටසේදී හොදින් බාවිතා වන බව තවද child class එකේ parent class එකේ නොමැති attributes සහ behaviour තිබෙන්න පුලුවන්.
මෙහි මූලික කරුනු කිහිපයක්ම තියනව එනම්
1. new
class සෑම එකක්ම extend කලයුතුය .
2. extend කිරීම විශෙශයෙන් සදහන් නොවන විට object සහ class එක inherit වීම සිදු වේ
3. inherit වීමෙදී කිසිවිටකත් constructor උපයෝගී වීම සිදු නොවේ.. ජාවා හි සෑම
class එකකටම තිබිය හැක්කේ parent class එකක් පමනි javaa multiple
inheritance වලට සහාය නොදක්වයි.
දැන් අපි බලමු inheritance පිලිබදව java code එකකින්ම(මම මේ සදහා බාවිතා
කරන්නේ සාමාන්ය සිලින්ඩරයක්සහ වර්න ගැන්වූ සිලින්ඩරයක්
යන උදාහරනයයි)
Code:-01
public class silinder {
private int rValue;
private int height;
public silinder(int r,int h) {
rValue=r;
height=h;
}
public void setr(int r){
rValue=r;
}
public void seth(int h){
height=h;
}
public double getVolume(){
return(Math.PI*(rValue*rValue)*height);
}
public void print() {
// TODO Auto-generated method stub
System.out.println("r value ="+rValue);
System.out.println("height ="+height);
System.out.println("Volume ="+getVolume());
}
}
colour silinder class
public class colourSilinder extends silinder {
private String colour;
public colourSilinder(int r,int h,String c) {
super(r, h);
colour=c;
}
public void setColour(String c){
colour=c;
}
public void print(){
super.print();
System.out.println("Colour ="+colour);
}
}
main class
public class inheritance {
public static void main(String[] args) {
silinder s=new silinder(1, 1);
colourSilinder cs=new colourSilinder(2, 5, "red");
s.print();
System.out.println("_____________________________");
cs.print();
System.out.println("_____________________________");
System.out.println("Making changes silinder Objects");
System.out.println("New information");
s.seth(2);
cs.setColour("Green");
cs.setr(2);//this method inherit super class
s.print();
System.out.println("_____________________________");
cs.print();
}
}
හොදයි දැන් ඔයාලට හොදට වැට හෙනව ඇති inheritance කියන්නෙ මොකද්ද කියල මේගැන තවත් අද්යනය කරන්න මූලික සන්කල්පය තමයි මේ.
එහෙනම් යාලුවනේ අදට පාඩම ඉවරයි තවත් දවසක හමුවෙමු..
By Manoj Priyankara