Ett föreläsningsutdrag med en mentor som en del av Codegym University-kursen. Anmäl dig till hela kursen.


"Nu är det hög tid att jag berättar om konstruktörer. Det här är ett väldigt enkelt koncept. Programmerare har uppfunnit ett stenografisk sätt att skapa och initialisera objekt. "

Utan konstruktör Med en konstruktör
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();

"Jag har precis lärt mig om initialiseringsmetoden..."

"Titta hårdare. Med konstruktörer är koden mer bekväm och kompakt."

"Så det är. Här är en fråga. Jag vet hur man skriver en initialiseringsmetod i en klass, men hur skriver jag en konstruktor?"

"Titta först på det här exemplet:"

Utan konstruktör Med en konstruktör
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
Uppgift
Java Syntax,  nivålektion
Låst
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).

"Det är lätt att deklarera en konstruktor i en klass. En konstruktor liknar initialiseringsmetoden, med bara två skillnader:

1. Namnet på en konstruktor är detsamma som klassnamnet (istället för initialisera).

2. En konstruktör har ingen typ (ingen typ anges)."

"OK, så det är som att initialisera , men med några skillnader. Jag tror att jag förstår det."