Coretan kuliah dengan mentor sebagai sebahagian daripada kursus Universiti Codegym. Daftar untuk kursus penuh.


"Kini tiba masanya saya memberitahu anda tentang pembina. Ini adalah konsep yang sangat mudah. ​​Pengaturcara telah mencipta cara ringkas untuk mencipta dan memulakan objek. "

Tanpa pembina Dengan pembina
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");
String text = file.readText();
MyFile file = new MyFile("c:\data\a.txt");
String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\", "a.txt");
String text = file.readText();
MyFile file = new MyFile("c:\data\", "a.txt");
String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");

MyFile file2 = new MyFile();
file2.initialize( MyFile file, "a.txt");
String text = file2.readText();
MyFile file = new MyFile("c:\data\a.txt");


MyFile file2 = new MyFile(file, "a.txt");
String text = file2.readText();

"Saya baru sahaja selesai belajar tentang kaedah permulaan…"

"Lihat lebih keras. Dengan pembina, kod lebih mudah dan padat."

"Begitu juga. Ini soalan. Saya tahu cara menulis kaedah permulaan di dalam kelas, tetapi bagaimanakah saya menulis pembina?"

"Pertama, lihat contoh ini:"

Tanpa pembina Dengan pembina
class MyFile
{
  private String filename = null;

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

  public void initialize(String folder, String name)
  {
    this.filename = folder + name;
  }

  public void initialize(MyFile file, String name)
  {
    this.filename = file.getFolder() + name;
  }

…
}
class MyFile
{
  private String filename = null;

  public MyFile(String name)
  {
    this.filename = name;
  }

  public MyFile(String folder, String name)
  {
    this.filename = folder + name;
  }

  public MyFile(MyFile file, String name)
  {
    this.filename = file.getFolder() + name;
  }

…
}

"Mudah untuk mengisytiharkan pembina di dalam kelas. Pembina adalah serupa dengan kaedah permulaan , dengan hanya dua perbezaan:

1. Nama pembina adalah sama dengan nama kelas (bukannya mulakan).

2. Pembina tidak mempunyai jenis (tiada jenis ditunjukkan)."

"OK, jadi ia seperti mulakan , tetapi dengan sedikit perbezaan. Saya rasa saya faham."