Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.


"Ya es hora de que les hable sobre los constructores. Este es un concepto realmente simple. Los programadores han inventado una forma abreviada de crear e inicializar objetos " .

Sin constructor con un constructor
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();

"Acabo de terminar de aprender sobre el método de inicialización..."

"Mira más. Con los constructores, el código es más conveniente y compacto".

"Así es. Aquí hay una pregunta. Sé cómo escribir un método de inicialización dentro de una clase, pero ¿cómo escribo un constructor?"

"Primero, mira este ejemplo:"

Sin constructor con un constructor
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;
  }

…
}

"Es fácil declarar un constructor dentro de una clase. Un constructor es similar al método de inicialización , con solo dos diferencias:

1. El nombre de un constructor es el mismo que el nombre de la clase (en lugar de inicializar).

2. Un constructor no tiene tipo (no se indica ningún tipo)."

"Está bien, entonces es como inicializar , pero con algunas diferencias. Creo que lo entiendo".

undefined
5
Опрос
null,  5 уровень,  8 лекция
недоступен
null
Trabajar en el IDE y depurar (Debug)