Property และการห่อหุ้ม
ปกป้องเงื่อนไขของออบเจกต์ด้วย property ที่มีการตรวจสอบ
ทำงานอย่างไร
การห่อหุ้มเก็บกฎการเปลี่ยนแปลงไว้ใกล้สถานะที่มันปกป้อง
ฟิลด์ private เบื้องหลังทำให้ setter ปฏิเสธค่าที่ผิดได้ ขณะที่ผู้เรียกยังใช้รูปแบบ property ตามปกติ
ตัวอย่าง C# ที่รันได้
Program.cs
using System;
class Product
{
private decimal _price;
public decimal Price
{
get => _price;
set => _price = value >= 0 ? value : throw new ArgumentOutOfRangeException();
}
}
class Program
{
static void Main()
{
var product = new Product { Price = 19.95m };
Console.WriteLine(product.Price);
}
}
19.95ฝึกกับดีบักเกอร์
ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
โจทย์ทั้งหมด