Đoạn trích bài giảng với người cố vấn trong khóa học của Đại học Codegym. Đăng ký cho khóa học đầy đủ.


"Bây giờ đã đến lúc tôi nói với bạn về hàm tạo. Đây thực sự là một khái niệm đơn giản. Các lập trình viên đã phát minh ra một cách viết tắt để tạo và khởi tạo các đối tượng. "

Không có hàm tạo Với một nhà xây dựng
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();

"Tôi vừa học xong về phương thức khởi tạo..."

"Nhìn chăm chỉ hơn. Với constructor thì code tiện và gọn hơn."

"Đúng vậy. Đây là một câu hỏi. Tôi biết cách viết một phương thức khởi tạo bên trong một lớp, nhưng làm cách nào để viết một hàm tạo?"

"Đầu tiên, hãy xem ví dụ này:"

Không có hàm tạo Với một nhà xây dựng
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;
  }}
2
Nhiệm vụ
Java Syntax,  mức độbài học
Đã khóa
Code entry
Your attention, please! Now recruiting code entry personnel for CodeGym. So turn up your focus, let your fingers relax, read the code, and then... type it into the appropriate box. Code entry is far from a useless exercise, though it might seem so at first glance: it allows a beginner to get used to and remember syntax (modern IDEs seldom make this possible).

"Thật dễ dàng để khai báo một hàm tạo bên trong một lớp. Một hàm tạo tương tự như phương thức khởi tạo , chỉ có hai điểm khác biệt:

1. Tên của hàm tạo giống với tên lớp (thay vì khởi tạo).

2. Hàm tạo không có loại (không có loại nào được chỉ định)."

"OK, vậy nó giống như initialize , nhưng với một vài điểm khác biệt. Tôi nghĩ là tôi hiểu rồi."