Java - Konstruktor

Selamat datang, pembangun Java masa depan! Hari ini, kita akan menyelam ke salah satu konsep yang paling fundamental dalam pengaturcaraan Java: konstruktor. Jangan khawatir jika anda baru untuk pengkodingan; saya akan membimbing anda melalui topik ini langkah demi langkah, sama seperti yang saya lakukan untuk pelbagai pelajar lebih kurang tahun saya mengajar. Jadi, rakamkan satu gelas kopi (atau minuman kegemaran anda), dan mari kita melangkah ke atas perjalanan yang menarik ini bersama-sama!

Java - Constructors

Apakah itu Konstruktor?

Bayangkan anda sedang membina sebuah rumah. Sebelum anda mula untuk memfurnishnya, anda perlu untuk menjadikan dasar dan membina struktur asasnya. Dalam Java, konstruktor adalah seperti rakitan untuk membuat objek - mereka menetapkan keadaan awal bagi objek apabila ia diciptakan.

Konstruktor adalah satu jenis method khas yang dipanggil apabila objek bagi kelas dihasilkan. Ia digunakan untuk menginisialisasi keadaan objek dan mengumpulkan memori untuknya.

Titik Penting tentang Konstruktor:

  1. Konstruktor memiliki nama yang sama dengan kelas.
  2. Mereka tidak mempunyai jenis kembali (bahkan tidak void).
  3. Mereka dipanggil secara automatik apabila objek diciptakan.

Mari kita lihat contoh yang simple:

public class House {
String color;
int numberOfRooms;

// Ini adalah sebuah konstruktor
public House() {
color = "Putih";
numberOfRooms = 3;
}
}

Dalam contoh ini, House() adalah sebuah konstruktor. Ia menetapkan warna default ke "Putih" dan jumlah ruangan ke 3 bagi mana-mana objek House yang diciptakan.

Aturan untuk Membuat Konstruktor Java

Sekarang kita telah menjadikan dasar, mari kita bangun atas itu dengan beberapa aturan penting:

  1. Nama konstruktor harus sepadan dengan nama kelas dengan betul.
  2. Konstruktor tidak boleh mempunyai jenis kembali (bahkan tidak void).
  3. Konstruktor boleh mempunyai pengubah akses (public, private, protected, atau default).
  4. Jika anda tidak menyediakan sebarang konstruktor, Java akan membuat konstruktor default no-arg untuk anda.

Membuat Konstruktor Java

Mari kita membuat contoh yang lebih terperinci untuk menggambar bagaimana untuk membuat dan menggunakan konstruktor:

public class Student {
String name;
int age;
String major;

// Konstruktor
public Student(String studentName, int studentAge, String studentMajor) {
name = studentName;
age = studentAge;
major = studentMajor;
}

// Method untuk paparkan maklumat pelajar
public void displayInfo() {
System.out.println("Nama: " + name);
System.out.println("Umur: " + age);
System.out.println("Jurusan: " + major);
}

public static void main(String[] args) {
// Membuat objek Student baru
Student newStudent = new Student("Alice", 20, "Sains Komputer");
newStudent.displayInfo();
}
}

Dalam contoh ini, kita telah membuat kelas Student dengan konstruktor yang mengambil tiga parameter. Apabila kita membuat objek Student baru, kita luluskan maklumat yang diperlukan, dan konstruktor menginisialisasi keadaan objek.

Jika anda menjalankan kod ini, anda akan lihat:

Nama: Alice
Umur: 20
Jurusan: Sains Komputer

Jenis Konstruktor Java

Bahkan seperti ada jenis jenis rumah yang berbeza (bungalow, apartmen, mansion), ada jenis jenis konstruktor dalam Java. Mari kita eksplor mereka:

1. Konstruktor Default

Jika anda tidak menyediakan sebarang konstruktor, Java akan membuat satu untuk anda. Ini dipanggil konstruktor default.

public class Car {
// Java akan membuat konstruktor default di sini
}

// Penggunaan
Car myCar = new Car();

2. Konstruktor No-arg

Ini adalah konstruktor yang tidak mengambil sebarang argumen.

public class Bicycle {
String color;

// Konstruktor no-arg
public Bicycle() {
color = "Merah";
}
}

// Penggunaan
Bicycle myBike = new Bicycle();

3. Konstruktor Parameterized

Jenis konstruktor ini menerima satu atau lebih parameter.

public class Book {
String title;
String author;

// Konstruktor parameterized
public Book(String bookTitle, String bookAuthor) {
title = bookTitle;
author = bookAuthor;
}
}

// Penggunaan
Book myBook = new Book("The Great Gatsby", "F. Scott Fitzgerald");

Pembebanan Konstruktor di Java

Ingat apabila saya mentioned jenis jenis rumah? Well, kadang-kadang anda mungkin mahu membuat objek dalam cara yang berbeza. Ini di mana pembebanan konstruktor menjadi berguna.

Pembebanan konstruktor membenarkan kelas untuk memiliki lebih daripada satu konstruktor. Setiap konstruktor boleh mempunyai senarai parameter yang berbeza. Ini memberikan keanjalan dalam pembuatan objek.

Mari kita lihat contoh:

public class Pizza {
String size;
String topping;
boolean extraCheese;

// Konstruktor dengan semua parameter
public Pizza(String pizzaSize, String pizzaTopping, boolean hasExtraCheese) {
size = pizzaSize;
topping = pizzaTopping;
extraCheese = hasExtraCheese;
}

// Konstruktor dengan saiz dan topping
public Pizza(String pizzaSize, String pizzaTopping) {
this(pizzaSize, pizzaTopping, false); // Memanggil konstruktor pertama
}

// Konstruktor dengan hanya saiz
public Pizza(String pizzaSize) {
this(pizzaSize, "Margherita", false); // Memanggil konstruktor pertama
}

// Method untuk paparkan maklumat pizza
public void displayInfo() {
System.out.println("Saiz: " + size);
System.out.println("Topping: " + topping);
System.out.println("Keju Tambahan: " + (extraCheese ? "Ya" : "Tidak"));
}

public static void main(String[] args) {
Pizza pizza1 = new Pizza("Besar", "Pepperoni", true);
Pizza pizza2 = new Pizza("Sederhana", "Jamur");
Pizza pizza3 = new Pizza("Kecil");

System.out.println("Pizza 1:");
pizza1.displayInfo();
System.out.println("\nPizza 2:");
pizza2.displayInfo();
System.out.println("\nPizza 3:");
pizza3.displayInfo();
}
}

Kelas Pizza ini menunjukkan pembebanan konstruktor. Kita ada tiga konstruktor, setiap satu dengan senarai parameter yang berbeza. Ini membenarkan kita untuk membuat objek Pizza dalam cara yang berbeza, memberikan keanjalan kepada pengguna kelas kita.

Apabila anda menjalankan kod ini, anda akan lihat:

Pizza 1:
Saiz: Besar
Topping: Pepperoni
Keju Tambahan: Ya

Pizza 2:
Saiz: Sederhana
Topping: Jamur
Keju Tambahan: Tidak

Pizza 3:
Saiz: Kecil
Topping: Margherita
Keju Tambahan: Tidak

Dan itu adalah! Kita telah membina pemahaman yang kuat tentang konstruktor Java dari rakas. Ingat, latihan membuatkan penyakit. Cuba untuk membuat kelas anda sendiri dan eksperimen dengan jenis jenis konstruktor yang berbeza. Sebelum anda tahu, anda akan membuat objek Java seperti pro!

Selamat pengkoding, pembangun Java masa depan! ??‍??‍?

Credits: Image by storyset