Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.


„Acum este timpul să vă vorbesc despre constructori. Acesta este un concept foarte simplu. Programatorii au inventat o modalitate scurtă de a crea și inițializa obiecte.

Fără constructor Cu 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();

"Tocmai am terminat de învățat despre metoda de inițializare..."

"Uită-te mai bine. Cu constructori, codul este mai convenabil și mai compact."

"Așa este. Iată o întrebare. Știu cum să scriu o metodă de inițializare în interiorul unei clase, dar cum scriu un constructor?"

„În primul rând, uită-te la acest exemplu:”

Fără constructor Cu 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;
  }}
2
Sarcină
Java Syntax,  nivellecţie
Blocat
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).

„Este ușor să declarați un constructor în interiorul unei clase. Un constructor este similar cu metoda initialize , cu doar două diferențe:

1. Numele unui constructor este același cu numele clasei (în loc de inițializare).

2. Un constructor nu are niciun tip (nu este indicat niciun tip)."

"OK, deci este ca și cum ați inițializa , dar cu câteva diferențe. Cred că am înțeles."