Wednesday, May 14, 2014

OOP Part 2 INHERITANCE


‍මු‍ලින්‍‍ම ‍ය‍ලු‍ව‍නේ  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