Een fragment uit een lezing met een mentor als onderdeel van de Codegym University-cursus. Schrijf je in voor de volledige cursus.


"Nu is het de hoogste tijd dat ik je vertel over constructors. Dit is een heel eenvoudig concept. Programmeurs hebben een verkorte manier bedacht om objecten te maken en te initialiseren. "

Zonder constructeur Met een constructeur
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();

"Ik ben net klaar met leren over de initialisatiemethode..."

"Kijk beter. Met constructors is de code handiger en compacter."

"Zo is het. Hier is een vraag. Ik weet hoe ik een initialisatiemethode binnen een klasse moet schrijven , maar hoe schrijf ik een constructor?"

"Kijk eerst naar dit voorbeeld:"

Zonder constructeur Met een constructeur
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;
  }}

"Het is gemakkelijk om een ​​constructor binnen een klasse te declareren. Een constructor is vergelijkbaar met de initialisatiemethode , met slechts twee verschillen:

1. De naam van een constructor is hetzelfde als de klassenaam (in plaats van initialiseren).

2. Een constructor heeft geen type (er wordt geen type aangegeven)."

"OK, dus het is net als initialiseren , maar met een paar verschillen. Ik denk dat ik het snap."