Um trecho de palestra com um mentor como parte do curso Codegym University. Inscreva-se no curso completo.
"Agora é hora de falar sobre construtores. Este é um conceito realmente simples. Os programadores inventaram uma maneira abreviada de criar e inicializar objetos. "
Sem um construtor |
Com um construtor |
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();
|
"Acabei de aprender sobre o método initialize..."
"Observe melhor. Com construtores, o código é mais conveniente e compacto."
"Então é. Aqui está uma pergunta. Eu sei como escrever um método de inicialização dentro de uma classe, mas como eu escrevo um construtor?"
"Primeiro, veja este exemplo:"
Sem um construtor |
Com um construtor |
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;
}
…
}
|
"É fácil declarar um construtor dentro de uma classe. Um construtor é semelhante ao método initialize , com apenas duas diferenças:
1. O nome de um construtor é o mesmo que o nome da classe (em vez de inicializar).
2. Um construtor não tem tipo (nenhum tipo é indicado)."
"OK, é como inicializar , mas com algumas diferenças. Acho que entendi."