Class (part 2)

Kita kembali kepada class Kucing untuk menambah sesuatu pada class tersebut, iaitu constructor, setter, dan getter. Kita juga akan melihat pengenalan kepada parameter.

Constructor

Constructor ialah method yang mempunyai nama yang sama dengan nama class. Tujuannya adalah untuk melaksanakan sesuatu code sebaik sahaja kita create object daripada class tersebut. Kebiasaannya kita letak proses untuk memasukkan data ke dalam fields di dalam constructor, contohnya:

package kucing;

public class Kucing {
    String nama;
    int umur;

    /*
     * Inilah yang dinamakan constructor.
     */
    public Kucing() {
        nama = "Tiada nama";
        umur = 0;
    }

    public void mengiau() {
        System.out.println("Meow");
    }

    public void minum() {
        System.out.println("Slrrp, slrrp");
    }
}

Ini untuk mengelakkan error, contohnya jika kita mengakses fields walaupun fields tersebut tidak mempunyai data.

Untuk melihat fungsi constructor, kita boleh create object daripada class Kucing:

package kucing;

public class Main {
    public static void main(String[] args) {
        Kucing kucingSaya = new Kucing();

        System.out.println(kucingSaya.nama);
    }
}

Lihat, kita tidak perlu memasukkan data ke dalam fields seperti sebelum ini. Program secara automatik akan memasukkan data ke dalam fields bergantung kepada apa yang kita tentukan di dalam constructor.

Setter

Setter ialah method yang digunakan untuk memasukkan data ke dalam fields.

package kucing;

public class Kucing {
    String nama;
    int umur;

    public Kucing() {
        nama = "Tiada nama";
        umur = 0;
    }

    /*
     * Ini contoh setter.
     */
    public void setNama(String n) {
        nama = n;
    }

    public void mengiau() {
        System.out.println("Meow");
    }

    public void minum() {
        System.out.println("Slrrp, slrrp");
    }
}

String n yang berada di dalam kurungan setNama() ialah parameter. Parameter ialah data yang diperlukan untuk menggunakan method tersebut. Contoh kegunaan setter adalah seperti berikut:

package kucing;

public class Main {
    public static void main(String[] args) {
        Kucing kucingSaya = newKucing();
        kucingSaya.setNama("Tompok");
    }
}

Antara kelebihan menggunakan setter ialah kita dapat memastikan data yang dimasukkan adalah data yang betul. Contohnya umur tidak boleh menjadi negatif, jadi kita boleh pastikan nombor yang dimasukkan bukan nombor negatif seperti berikut:

package kucing;

public class Kucing {
    ...

    public void setUmur(int u) {
        if (u < 0) {
            System.out.println("Error, umur tidak boleh negatif!");
        } else {
            umur = u;
        }
    }
    ...
}

Getter

Getter pula ialah method untuk mengakses data. Berbeza dengan method sebelum ini, kita perlu menukar keyword void kepada jenis data yang kita ingin akses. Contohnya, jika kita mahu mengakses data dari field nama, kita perlu tukar void kepada String:

package kucing;

public class Kucing {
    String nama;
    int umur;

    ...
    public String getNama() {
        return nama;
    }

    public int getUmur() {
        return umur;
    }
    ...
}

Keyword return digunakan untuk mengakses data tersebut atau dalam erti kata lain memulangkan data.

Kita boleh menggunakan getter seperti berikut:

package kucing;

public class Main {
    public static void main(String[] args) {
        Kucing kucingSaya = new Kucing();
        System.out.println(kucingSaya.getNama());
    }
}

Website ini menggunakan cookie yang dikendalikan oleh pihak ketiga. Anda boleh membaca dengan lebih lanjut di sini. Dengan menggunakan website ini, anda bersetuju dengan penggunaan cookie tersebut.

Setuju