Dart Academy · บทเรียน

สมาชิกแบบ static และค่าคงที่ของคลาส

แบ่งปันข้อมูลและตัวช่วยในระดับคลาส

บทเรียน 4 จาก 413 ขั้นตอน

สมาชิกแบบ static และค่าคงที่ของคลาส เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน

ใช้ร่วมกัน ไม่ใช่แยกตามอินสแตนซ์

สมาชิกส่วนใหญ่เป็นของออบเจ็กต์แต่ละตัว แต่บางสมาชิกเป็นของคลาสเอง สมาชิกเหล่านั้นเรียกว่าสมาชิกแบบสแตติก ซึ่งทุกออบเจ็กต์ใช้ร่วมกัน

ฟิลด์แบบสแตติก

ทำเครื่องหมายฟิลด์เป็นสแตติก แล้วฟิลด์นั้นจะมีเพียงหนึ่งชุดสำหรับทั้งคลาส ไม่ใช่หนึ่งชุดต่อหนึ่งอินสแตนซ์ ออบเจ็กต์ทั้งหมดจะเห็นค่าเดียวกัน

class Dog {
  static int count = 0;
}

การเข้าถึงสมาชิกแบบสแตติก

เข้าถึงสมาชิกแบบสแตติกผ่านชื่อคลาส ไม่ใช่ผ่านอินสแตนซ์ คุณไม่จำเป็นต้องสร้างออบเจ็กต์เพื่อใช้งานสมาชิกนี้

Dog.count = 5;
print(Dog.count);

การนับอินสแตนซ์

การใช้งานทั่วไปของฟิลด์แบบสแตติกคือทำเป็นตัวนับร่วม ออบเจ็กต์ใหม่แต่ละตัวสามารถเพิ่มค่าตัวนับเพื่อดูว่ามีออบเจ็กต์อยู่กี่ตัว

Dog() {
  count++;
}

เมธอดแบบสแตติก

เมธอดแบบสแตติกเป็นของคลาสเช่นกัน เมธอดนี้ไม่มี this และไม่สามารถเข้าถึงฟิลด์ของอินสแตนซ์ได้ แต่เข้าถึงฟิลด์แบบสแตติกได้

static int square(int n) => n * n;

การเรียกใช้เมธอดแบบสแตติก

เรียกใช้เมธอดแบบสแตติกผ่านชื่อคลาส เมธอดนี้ทำงานเหมือนฟังก์ชันตัวช่วยที่จัดกลุ่มไว้ภายใต้คลาสของคุณ

var r = MathUtil.square(4); // 16

ค่าคงที่ของคลาส

ใช้ static และ const ร่วมกันเพื่อสร้างค่าคงที่ที่ใช้ร่วมกัน ค่านี้จะถูกคำนวณขณะคอมไพล์และเหมือนกันตลอดทั้งคลาส

static const double pi = 3.14159;

การใช้ค่าคงที่ของคลาส

อ่านค่าคงที่ของคลาสผ่านชื่อคลาสได้เช่นเดียวกับฟิลด์แบบสแตติก เหมาะสำหรับค่าการตั้งค่าที่ไม่เปลี่ยนแปลง

print(Circle.pi);

สมาชิกแบบสแตติกมองไม่เห็นอินสแตนซ์

สมาชิกแบบสแตติกทำงานโดยไม่มีออบเจ็กต์ จึงไม่มี this การพยายามอ่านฟิลด์ของอินสแตนซ์จากสมาชิกนี้จะทำให้เกิดข้อผิดพลาด

static void show() {
  // print(name); // error
}

เมื่อใดควรเลือกใช้สแตติก

เลือกใช้สแตติกเมื่อข้อมูลหรือพฤติกรรมนั้นเป็นของชนิดข้อมูลโดยรวม ไม่ใช่ของออบเจ็กต์ใดออบเจ็กต์หนึ่งที่คุณสร้าง

ตัวช่วยแบบสแตติกช่วยจัดระเบียบ

การจัดกลุ่มฟังก์ชันตัวช่วยที่เกี่ยวข้องเป็นเมธอดแบบสแตติกช่วยให้เป็นระเบียบภายใต้ชื่อคลาสเดียว แทนที่จะเป็นฟังก์ชันแยกกระจัดกระจาย 🧰

ตรวจสอบความเข้าใจอย่างรวดเร็ว

หากต้องการตัวนับหนึ่งตัวที่ใช้ร่วมกันในออบเจ็กต์ทุกตัวของคลาส คุณจะใช้สิ่งใด

ทบทวน: สแตติกและค่าคงที่

คุณได้เรียนรู้ว่าสมาชิกแบบสแตติกเป็นของคลาส ไม่มี this และ static const ใช้กำหนดค่าคงที่ร่วมกันที่คำนวณขณะคอมไพล์ 🎉

เริ่มต้นได้ฟรี

เรียนรู้ Dart ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “สมาชิกแบบ static และค่าคงที่ของคลาส” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สมาชิกแบบ static และค่าคงที่ของคลาส” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สมาชิกแบบ static และค่าคงที่ของคลาส”

แบ่งปันข้อมูลและตัวช่วยในระดับคลาส คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “สมาชิกแบบ static และค่าคงที่ของคลาส” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม

ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กำหนดคลาสพร้อมฟิลด์
  2. เมธอดของอินสแตนซ์และ this
  3. ตัวอ่านและตัวกำหนดค่า
  4. สมาชิกแบบ static และค่าคงที่ของคลาส
← กลับไปที่ Dart Academy