ตัวอย่างการบรรยายพร้อมผู้ให้คำปรึกษาซึ่งเป็นส่วนหนึ่งของหลักสูตร Codegym University ลงทะเบียนสำหรับหลักสูตรเต็ม
"ตอนนี้ถึงเวลาแล้วที่ฉันจะบอกคุณเกี่ยวกับตัวสร้างนี่เป็นแนวคิดที่เรียบง่ายจริงๆ โปรแกรมเมอร์ได้คิดค้นวิธีการชวเลขเพื่อสร้างและเริ่มต้นวัตถุ "
โดยไม่มีตัวสร้าง |
ด้วยตัวสร้าง |
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();
|
"ฉันเพิ่งเสร็จสิ้นการเรียนรู้เกี่ยวกับวิธีการเริ่มต้น ... "
"ดูให้หนักขึ้น ด้วยตัวสร้าง โค้ดจะสะดวกและกะทัดรัดมากขึ้น"
"ใช่แล้ว นี่คือคำถาม ฉันรู้วิธีเขียนเมธอดinitializeภายในคลาส แต่ฉันจะเขียนคอนสตรัคเตอร์ได้อย่างไร"
"ก่อนอื่น ดูตัวอย่างนี้:"
โดยไม่มีตัวสร้าง |
ด้วยตัวสร้าง |
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;
}
…
}
|
"เป็นเรื่องง่ายที่จะประกาศตัวสร้างภายในคลาส ตัวสร้างนั้นคล้ายกับเมธอดinitializeโดยมีข้อแตกต่างเพียงสองประการ:
1. ชื่อคอนสตรัคเตอร์เหมือนกับชื่อคลาส (แทนที่จะเป็น initialize)
2. ตัวสร้างไม่มีประเภท (ไม่ระบุประเภท)"
"ตกลง มันเหมือนกับการ initializeแต่มีความแตกต่างเล็กน้อย ฉันคิดว่าฉันเข้าใจแล้ว"
GO TO FULL VERSION