C# เชิงวัตถุ

Property และการห่อหุ้ม

ปกป้องเงื่อนไขของออบเจกต์ด้วย property ที่มีการตรวจสอบ

ทำงานอย่างไร

การห่อหุ้มเก็บกฎการเปลี่ยนแปลงไว้ใกล้สถานะที่มันปกป้อง

ฟิลด์ private เบื้องหลังทำให้ setter ปฏิเสธค่าที่ผิดได้ ขณะที่ผู้เรียกยังใช้รูปแบบ property ตามปกติ

ตัวอย่าง C# ที่รันได้

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

โจทย์ทั้งหมด