Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.


„Сега е крайно време да ви разкажа за конструкторите. Това е наистина проста концепция. Програмистите са измислor кратък начин за създаване и инициализиране на обекти.

Без конструктор С конструктор
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();

„Току-що приключих с изучаването на метода за инициализация…“

„Погледнете по-внимателно. С конструкторите codeът е по-удобен и компактен.“

„Така е. Ето един въпрос. Знам How да напиша метод за инициализация вътре в клас, но How да напиша конструктор?“

„Първо вижте този пример:“

Без конструктор С конструктор
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
Задача
Java Syntax,  нивоурок
Заключено
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).

"Лесно е да декларирате конструктор в клас. Конструкторът е подобен на метода за инициализация , само с две разлики:

1. Името на конструктора е същото като името на класа (instead of инициализиране).

2. Конструкторът няма тип (не е посочен тип)."

„Добре, значи е като инициализиране , но с няколко разлики. Мисля, че го разбирам.“