ใช้คุณสมบัติอินเทอร์เฟซ

เสร็จสมบูรณ์เมื่อ

ในฐานะนักพัฒนาที่ได้รับมอบหมายให้สร้างอินเทอร์เฟซของโครงการคุณคุณเริ่มกระบวนการโดยการออกแบบอินเทอร์เฟซพร้อมคุณสมบัติ จากนั้น คุณพัฒนาคลาสที่นําคุณสมบัติเหล่านี้ไปใช้

อินเทอร์เฟซใน C# ก็เหมือนกับพิมพ์เขียว ซึ่งสรุปคุณลักษณะ (คุณสมบัติหรือวิธีการ) ที่คลาสจําเป็นต้องมีหากพวกเขาต้องการใช้อินเทอร์เฟซนี้ สําหรับโครงการนี้ คุณกําหนดอินเทอร์เฟซที่กําหนดคุณสมบัติเท่านั้น (โดยไม่มีวิธีการ)

  • ใช้คํา interface หลักเพื่อสร้างอินเทอร์เฟซ
  • กําหนดคุณสมบัติในอินเทอร์เฟซโดยไม่มีเนื้อความ
  • อินเทอร์เฟซสามารถเลือกที่จะใส่การใช้งานเริ่มต้นสําหรับสมาชิก รวมถึงคุณสมบัติ แต่จะเกิดขึ้นไม่บ่อย

โค้ดต่อไปนี้สร้าง IVehicle อินเทอร์เฟซพร้อม Speed คุณสมบัติ และ Color :

public interface IVehicle
{
    int Speed { get; set; }
    string Color { get; set; }
}

โดยทั่วไปคุณสมบัติของอินเทอร์เฟซจะไม่มีรหัสใด ๆ ภายในพวกเขาเพียงแค่ระบุชนิดของข้อมูล (เช่น int หรือ string) และไม่ว่าคุณสามารถอ่านจากพวกเขาเขียนไปยังพวกเขาหรือทําทั้งสองอย่าง เมื่อคุณใช้คุณสมบัติเหล่านี้ในคลาส คุณจะเขียนโค้ดจริงสําหรับการรับ (การอ่าน) และการตั้งค่า (การเขียน) ค่า ตัวอย่างเช่น หากอินเทอร์เฟซมีคุณสมบัติ Speed คุณจะต้องตัดสินใจว่าจะจัดเก็บและดึงค่าความเร็วในคลาสของคุณได้อย่างไร

พัฒนาคลาสที่ใช้อินเทอร์เฟซ

เมื่อระดับชั้น (เช่น Car) ตัดสินใจที่จะใช้อินเทอร์เฟซ เช่น IVehicleเหมือนกับการพูดว่า "ฉันจะสร้างยานพาหนะ" Car ต้องมีคุณลักษณะ (คุณสมบัติหรือวิธีการ) ทั้งหมดที่ระบุใน IVehicle พิมพ์เขียว

  • ไวยากรณ์ Car : IVehicle ถูกใช้เพื่อระบุว่า Car ใช้ IVehicle อินเทอร์เฟซ คุณใช้ไวยากรณ์ที่คุ้นเคยเช่นเดียวกับที่ใช้สําหรับการรับช่วง
  • Carจะต้องให้การใช้งานแบบสาธารณะและไม่มีสถิติสําหรับคุณลักษณะทั้งหมดที่ระบุในIVehicleพิมพ์เขียว
  • หาก Car ตัดสินใจที่จะใช้พิมพ์เขียวหลายแบบ (อินเทอร์เฟซ) ที่มีคุณสมบัติคล้ายกัน จําเป็นต้องชัดเจนว่าคุณลักษณะใดมาจากพิมพ์เขียวชนิดใด

นี่คือวิธีการ Car ใช้ IVehicle อินเทอร์เฟซในโค้ด:

public class Car : IVehicle
{
    private int _speed;
    private string _color;

    public int Speed
    {
        get { return _speed; }
        set { _speed = value; }
    }

    public string Color
    {
        get { return _color; }
        set { _color = value; }
    }
}

หมายเหตุ

สัญลักษณ์ : จะถูกใช้เพื่อระบุว่า Car ใช้งาน IVehicleคล้ายกับวิธีใช้ : เพื่อระบุการรับช่วง

ในตัวอย่างCarนี้คือ คลาส ที่ใช้IVehicleอินเทอร์เฟซและ มีเวอร์ชันของตัวเองของ Speed และColor มันเหมือนการสร้างรถที่ยึด IVehicle ตามพิมพ์เขียว แต่เพิ่มสัมผัสที่เป็นเอกลักษณ์ของตัวเองในความเร็วและสี