0Pricing
Dart Academy · บทเรียน

ตัวอ่านและตัวกำหนดค่า

เปิดเผยพร็อพเพอร์ตีที่คำนวณหรือมีการป้องกัน

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

มากกว่าฟิลด์ธรรมดา

บางครั้งคุณต้องการคุณสมบัติที่คำนวณค่าหรือมีการควบคุม Dart จึงมีตัวอ่านค่าและตัวกำหนดค่าเพื่อควบคุมวิธีอ่านและเขียนค่า

ตัวอ่านค่าคืออะไร

ตัวอ่านค่าจะดูเหมือนฟิลด์เมื่อมองจากภายนอก แต่จะเรียกใช้โค้ดเพื่อสร้างค่า ใช้คีย์เวิร์ด get เพื่อกำหนดตัวอ่านค่า

int get area => width * height;

ตัวอ่านค่าคำนวณค่า

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

class Box {
  int w = 2, h = 3;
  int get area => w * h;
}

การเรียกใช้ตัวอ่านค่า

เข้าถึงตัวอ่านค่าเหมือนกับฟิลด์ทุกประการ โค้ดภายในจะทำงานทุกครั้ง จึงสะท้อนข้อมูลล่าสุดเสมอ

var b = Box();
print(b.area); // 6

ตัวกำหนดค่าคืออะไร

ตัวกำหนดค่าจะเรียกใช้โค้ดเมื่อคุณกำหนดค่า ใช้คีย์เวิร์ด set และพารามิเตอร์เพียงหนึ่งตัวเพื่อรับข้อมูลเข้า

set width(int value) {
  _w = value;
}

ตัวกำหนดค่าควบคุมข้อมูลเข้า

ตัวกำหนดค่าสามารถตรวจสอบค่าก่อนจัดเก็บได้ ปฏิเสธข้อมูลที่ไม่ถูกต้อง จำกัดช่วงค่า หรือบันทึกการเปลี่ยนแปลงได้โดยตรงภายในการกำหนดค่า

set age(int v) {
  if (v >= 0) _age = v;
}

ฟิลด์เบื้องหลังแบบส่วนตัว

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

int _age = 0;
int get age => _age;

การเรียกใช้ตัวกำหนดค่า

กำหนดค่าให้ตัวกำหนดค่าเหมือนกับกำหนดค่าให้ฟิลด์ด้วยเครื่องหมายเท่ากับ Dart จะส่งการกำหนดค่านั้นผ่านโค้ดควบคุมของคุณ

var p = Person();
p.age = 25;

ตัวอ่านค่าโดยไม่มีตัวกำหนดค่า

กำหนดเฉพาะตัวอ่านค่าเพื่อสร้างคุณสมบัติแบบอ่านอย่างเดียว โค้ดภายนอกอ่านค่าได้ แต่ไม่สามารถกำหนดค่าให้ได้

String get fullName => "$first $last";

เหตุผลที่มีตัวอ่านค่าและตัวกำหนดค่า

ทั้งสองช่วยให้คุณเปลี่ยนวิธีจัดเก็บข้อมูลภายในได้ภายหลังโดยไม่ทำให้โค้ดที่เรียกใช้เสียหาย คุณสมบัติสาธารณะยังคงเหมือนเดิม ขณะที่ตรรกะถูกซ่อนไว้เบื้องหลัง 🔐

ตัวอย่างพร็อพเพอร์ตี้คำนวณค่า

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

String get label => "$name: $score pts";

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

หากต้องการให้ผู้อื่นอ่านพร็อพเพอร์ตี้ได้ แต่ไม่สามารถกำหนดค่าให้ได้ คุณจะต้องกำหนดสิ่งใด

ทบทวน: ตัวอ่านค่าและตัวกำหนดค่า

คุณได้เรียนรู้ว่าตัวอ่านค่าคำนวณและเปิดเผยค่า ตัวกำหนดค่าช่วยตรวจสอบการกำหนดค่า และเมื่อใช้ร่วมกันจะซ่อนรายละเอียดภายในได้อย่างเป็นระเบียบ 🎉

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

บทเรียน “ตัวอ่านและตัวกำหนดค่า” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ตัวอ่านและตัวกำหนดค่า”

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

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

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

บทเรียน “ตัวอ่านและตัวกำหนดค่า” ใช้เวลานานแค่ไหน

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

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

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

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

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