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;
  }}
2
Tarefa
Java Syntax,  nível 5lição 7
Bloqueado
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).

"É 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."