Java Programming 10: Constructor

person Myat Min Soefolder_openJava Programmingaccess_time August 5, 2016

Java class တိုင်းမှာ Constructor ရှိပါတယ်။ Constructor က Class ကို Object ဆောက်လိုက်တာနဲ့ အလုပ်စလုပ်ပါတယ်။ အရင်သင်ခန်းစာမှာ Student class မှာ constructor မပါဝင်ပါဘူး။ Constructor ကိုထည့်မဆောက်ခဲ့ရင်တောင် သူ့ဟာသူ default constructor ကိုထည့်ပေးပါတယ်။

Student Class မှာ default constructor ထည့်မယ်ဆိုရင် ဒီအတိုင်းမြင်ရမှာဖြစ်ပါတယ်။

package tutorial;

public class Student {

    private String name;
    private int mark1;
    private int mark2;
    private int mark3;

    public Student() {

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getMark1() {
        return mark1;
    }

    public void setMark1(int mark1) {
        this.mark1 = mark1;
    }

    public int getMark2() {
        return mark2;
    }

    public void setMark2(int mark2) {
        this.mark2 = mark2;
    }

    public int getMark3() {
        return mark3;
    }

    public void setMark3(int mark3) {
        this.mark3 = mark3;
    }

    public double getAverage() {
        return (mark1 + mark2 + mark3) / 3;
    }
}

အပေါ်က code ထဲမှာ public Student() {} ဆိုတာ default constructor ပါ။

Constructor ဆိုတာ method တစ်ခုပါပဲ။ ဒါပေမဲ့ return type မပါပါဘူး။ method name က Class name နဲ့တူရပါမယ်။ parameter လက်ခံနိုင်ပါတယ်။ Class တစ်ခုမှာ constructor အများကြီးရှိနိုင်ပါတယ်။ တစ်ခုမှမရှိရင် အပေါ်မှာ ထည့်ခဲ့တဲ့ default constructor ကိုအလုပ်လုပ်ပါတယ်။ နောက်ထပ် Constructor တစ်ခုဆောက်ကြည့်ရအောင်။

    public Student(String name, int mark1, int mark2, int mark3) {
        this.name = name;
        this.mark1 = mark1;
        this.mark2 = mark2;
        this.mark3 = mark3;
    }

အပေါ်က constructor မှာတော့ parameter ၄ ခုလက်ခံပြီး local variable ထဲကို ထည့်လိုက်ပါတယ်။ ဒါဆိုရင် Object စဆောက်တာနဲ့ setter သီးသန့်သုံးစရာမလိုပဲ value တွေထည့်လို့ရပြီးဖြစ်ပါတယ်။ value တွေကိုတစ်ခါတည်းထည့်လိုရင် ဒါမျိုး constructor ဆောက်နိုင်ပါတယ်။ Constructor ကိုတစ်ခုထက်မကဆောက်နိုင်ပေးမဲ့ Parameter တွေထပ်တူမဖြစ်ရပါဘူး။

နောက်ထပ် Class တစ်ခုယူပါ။ Tutorial9 လို့အမည်ပေးပါ။ အောက်ကအတိုင်းရေးကြည့်ပါ။

package tutorial;

public class Tutorial9 {

    public static void main(String[] args) {
        Student student = new Student("Aung Aung", 50, 60, 70);

        System.out.println("Name : " + student.getName());
        System.out.println("Mark1 : " + student.getMark1());
        System.out.println("Mark2 : " + student.getMark2());
        System.out.println("Mark3 : " + student.getMark3());
        System.out.println("Average : " + student.getAverage());
    }
}

ဒါဆိုရင် run ကြည့်လိုက်တဲ့အခါ အရင်အတိုင်းပဲ နာမည်နဲ့အမှတ်တွေထွက်လာမှာဖြစ်ပါတယ်။

ဒီမှာတစ်ခုကွာသွားတာက Object အသစ်ဆောက်တဲ့အခါ () ထဲမှာ constructor ထဲက parameter ကိုသုံးပြီး data တွေထည့်လိုက်တာပဲဖြစ်ပါတယ်။

Student student = new Student("Aung Aung", 50, 60, 70);

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>