Фрагмент от лекция с ментор като част от курса на 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;
}
…
}
|
"Лесно е да декларирате конструктор в клас. Конструкторът е подобен на метода за инициализация , само с две разлики:
1. Името на конструктора е същото като името на класа (instead of инициализиране).
2. Конструкторът няма тип (не е посочен тип)."
„Добре, значи е като инициализиране , но с няколко разлики. Мисля, че го разбирам.“
GO TO FULL VERSION