ฉันสามารถพูดได้ว่าเกี่ยวข้องกับสิ่งนั้น เมื่อฉันเริ่มเรียนรู้เกี่ยวกับ OO และ C # ครั้งแรกฉันก็ไม่ได้รับการเชื่อมต่อเช่นกัน ไม่เป็นไร. เราเพียงแค่ต้องเจอสิ่งที่จะทำให้คุณประทับใจกับความสะดวกสบายของอินเทอร์เฟซ
ให้ฉันลองสองวิธี และให้อภัยฉันสำหรับภาพรวม
ลอง 1
สมมติว่าคุณเป็นเจ้าของภาษา คุณไปประเทศอื่นที่ภาษาอังกฤษไม่ใช่ภาษาพื้นเมือง คุณต้องการความช่วยเหลือ. คุณต้องการคนที่สามารถช่วยคุณได้
คุณถาม: "เฮ้คุณเกิดในสหรัฐอเมริกาหรือไม่" นี่คือมรดก
หรือคุณถามว่า "เฮ้คุณพูดภาษาอังกฤษได้ไหม" นี่คือส่วนต่อประสาน
หากคุณสนใจสิ่งที่ทำคุณสามารถพึ่งพาอินเทอร์เฟซ หากคุณสนใจว่าอะไรคือสิ่งที่คุณต้องพึ่งพามรดก
ไม่ต้องพึ่งพามรดก หากคุณต้องการใครสักคนที่พูดภาษาอังกฤษชอบดื่มน้ำชาและชอบเล่นฟุตบอล :)
ลอง 2
ตกลงลองอีกตัวอย่างหนึ่ง
คุณใช้ฐานข้อมูลที่แตกต่างกันและคุณต้องใช้คลาสนามธรรมเพื่อทำงานกับพวกเขา คุณจะผ่านชั้นเรียนของคุณไปยังชั้นเรียนจากผู้จำหน่าย DB
public abstract class SuperDatabaseHelper
{
void Connect (string User, string Password)
}
public abstract class HiperDatabaseHelper
{
void Connect (string Password, string User)
}
หลายมรดกคุณพูดว่า ลองดูด้วยตัวพิมพ์ด้านบน คุณทำไม่ได้ คอมไพเลอร์จะไม่ทราบวิธีการเชื่อมต่อที่คุณพยายามโทร
interface ISuperDatabaseHelper
{
void Connect (string User, string Password)
}
interface IHiperDatabaseHelper
{
void Connect (string Password, string User)
}
ตอนนี้มีบางอย่างที่เราสามารถใช้งานได้ - อย่างน้อยใน C # - ที่ซึ่งเราสามารถใช้อินเตอร์เฟสได้อย่างชัดเจน
public class MyDatabaseHelper : ISuperDatabaseHelper, IHiperDatabaseHelper
{
IHiperDataBaseHelper.Connect(string Password, string User)
{
//
}
ISuperDataBaseHelper.Connect(string User, string Password)
{
//
}
}
ข้อสรุป
ตัวอย่างไม่ได้ดีที่สุด แต่ฉันคิดว่ามันเป็นประเด็นที่ได้รับ
คุณจะ "รับ" อินเทอร์เฟซเฉพาะเมื่อคุณรู้สึกว่าต้องการมัน จนกว่าคุณจะคิดว่าไม่เหมาะกับคุณ