ใช้คุณสมบัติอินเทอร์เฟซ
ในฐานะนักพัฒนาที่ได้รับมอบหมายให้สร้างอินเทอร์เฟซของโครงการคุณคุณเริ่มกระบวนการโดยการออกแบบอินเทอร์เฟซพร้อมคุณสมบัติ จากนั้น คุณพัฒนาคลาสที่นําคุณสมบัติเหล่านี้ไปใช้
อินเทอร์เฟซใน 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 ตามพิมพ์เขียว แต่เพิ่มสัมผัสที่เป็นเอกลักษณ์ของตัวเองในความเร็วและสี