สร้างวิธีการอินเทอร์เฟซ
ในฐานะนักพัฒนาที่ได้รับมอบหมายให้สร้างอินเทอร์เฟซของโครงการคุณ คุณเริ่มเพิ่มวิธีการอินเทอร์เฟซนอกเหนือจากอินเทอร์เฟซที่มีคุณสมบัติเท่านั้น เมื่อต้องการทดสอบอินเทอร์เฟซ คุณพัฒนาคลาสที่ใช้วิธีการเหล่านี้
อินเทอร์เฟซคือชุดของฟังก์ชันที่เกี่ยวข้องที่คลาสต้องใช้ ซึ่งอาจรวมถึงวิธีการ คุณสมบัติ เหตุการณ์ และตัวทําดัชนี
ตัวอย่างเช่น พิจารณาอินเทอร์เฟซที่ IVehicle ชื่อว่า ที่มี Drive เมธอดและคุณสมบัติสําหรับ Speed และ Color:
public interface IVehicle
{
int Speed { get; set; }
string Color { get; set; }
void Drive();
}
หมายเหตุ
Driveวิธีการประกาศวิธีการโดยไม่มีเนื้อความในอินเทอร์เฟซ เมื่อเพิ่มวิธีการลงในอินเทอร์เฟซ ให้ใส่ลายเซ็นของเมธอดในการประกาศอินเทอร์เฟซ แต่ไม่รวมถึงเนื้อความของเมธอด คลาสที่นําอินเทอร์เฟซไปใช้มีเนื้อความของเมธอด
สร้างคลาสที่ใช้อินเทอร์เฟซ
การใช้อินเทอร์เฟซในคลาสจะเหมือนกันสําหรับคลาสที่มีคุณสมบัติ วิธีการ หรือทั้งสองอย่าง เมื่อสร้างคลาสที่ใช้อินเทอร์เฟซ ให้ปฏิบัติตามหลักเกณฑ์เหล่านี้:
- ให้การใช้งานสําหรับสมาชิกของอินเทอร์เฟซทั้งหมด
- ประกาศอินเทอร์เฟซเป็นส่วนหนึ่งของข้อกําหนดคลาสและใส่เนื้อความวิธีการที่จําเป็น
หมายเหตุ
คลาส สามารถใช้อินเทอร์เฟซหลายรายการ ซึ่งทําให้มีลักษณะการทํางานจากหลายแหล่งข้อมูล อย่างไรก็ตาม คลาสสามารถสืบทอดมาจากระดับชั้นเดียวเท่านั้น ถ้าคลาสพื้นฐานใช้อินเทอร์เฟซ คลาสใด ๆ ที่ได้รับมาจากคลาสพื้นฐานจะสืบทอดการใช้งานนั้น
ตรวจสอบตัวอย่างคลาสต่อไปนี้ 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; }
}
public void Drive()
{
// Implementation of the Drive method
Console.WriteLine("The car is driving.");
}
}
ใน Drive ตัวอย่างนี้ วิธีการ ถูกนํามาใช้เพื่อแสดงข้อความเมื่อถูกเรียก นี่เป็นเพียงการใช้งานอย่างง่ายเพื่อวัตถุประสงค์ในการสาธิต ในแอปพลิเคชัน Drive จริง เมธอด อาจประกอบด้วยโค้ดที่ซับซ้อนมากขึ้นซึ่งควบคุมวิธีการขับเคลื่อนรถยนต์
อินเทอร์เฟซจะกําหนดสัญญาของลายเซ็นวิธีการและคุณสมบัติที่จําเป็นต้องใช้คลาส เมื่อคลาสใช้อินเทอร์เฟซ จะมีโค้ดจริงสําหรับวิธีการเหล่านี้ ซึ่งจะเปลี่ยนลายเซ็นของวิธีการเป็นรูทีนการทํางานได้อย่างมีประสิทธิภาพ กระบวนการนี้ช่วยให้คลาสสามารถปรับใช้ลักษณะการทํางานที่หลากหลายโดยการใช้อินเทอร์เฟซหลายรายการ เมื่อคุณยังคงพัฒนาและกําหนดวิธีการภายในอินเทอร์เฟซคุณจะพบว่าการใช้อินเทอร์เฟซอย่างมีประสิทธิภาพสามารถนําไปสู่การทําความสะอาดมีประสิทธิภาพมากขึ้นและจัดการได้โค้ด