การเชื่อมต่อคือการสร้างนามธรรม (แม่แบบ) ของสิ่งที่เป็นนามธรรม (คลาส) ของความเป็นจริง (วัตถุ)
อินเทอร์เฟซคือการระบุเงื่อนไขสัญญาโดยไม่ต้องมีการใช้งานโดยคลาส
อินเทอร์เฟซเป็นข้อมูลจำเพาะ:
อินเทอร์เฟซเป็นสิ่งประดิษฐ์เวลาออกแบบเพื่อระบุพฤติกรรมที่ไม่สามารถเคลื่อนที่ได้ของแนวคิดเนื่องจากเป็นแบบเดี่ยวและแบบคงที่
คลาสเป็นสิ่งประดิษฐ์เวลาใช้งานเพื่อระบุโครงสร้างเคลื่อนที่ของความเป็นจริงในขณะที่มันโต้ตอบและเคลื่อนย้าย
อินเทอร์เฟซคืออะไร?
เมื่อคุณสังเกตเห็นแมวคุณสามารถพูดได้ว่ามันเป็นสัตว์ที่มีสี่อุ้งเท้าหัวลำต้นหางและขน คุณจะเห็นว่าเขาสามารถเดินวิ่งกินอาหารและเหมียวได้ และอื่น ๆ
คุณเพิ่งกำหนดอินเทอร์เฟซที่มีคุณสมบัติและการดำเนินการ ด้วยเหตุนี้คุณจึงไม่ได้กำหนด modus operandi แต่มีเพียงคุณลักษณะและความสามารถโดยไม่รู้ว่าสิ่งต่างๆทำงานอย่างไรคุณได้กำหนดความสามารถและความแตกต่าง
ด้วยเหตุนี้จึงยังไม่ได้เป็นคลาสแม้ว่าใน UML เราจะเรียกสิ่งนี้ว่าคลาสในแผนภาพคลาสเนื่องจากเราสามารถกำหนดไพรเวทและสมาชิกที่ได้รับการป้องกันเพื่อเริ่มมีมุมมองเชิงลึกของสิ่งประดิษฐ์ อย่าสับสนที่นี่เพราะใน UML อินเทอร์เฟซเป็นสิ่งที่แตกต่างกันเล็กน้อยกับอินเทอร์เฟซใน C #: มันเป็นเหมือนจุดเชื่อมต่อบางส่วนไปยังอะตอมนามธรรม ด้วยเหตุนี้เราจึงกล่าวว่าคลาสสามารถใช้อินเทอร์เฟซหลาย ๆ ดังนั้นจึงเป็นสิ่งเดียวกัน แต่ไม่ใช่เพราะอินเทอร์เฟซใน C # ทั้งสองใช้เพื่อนามธรรมนามธรรมและเพื่อ จำกัด นามธรรมนี้เป็นจุดเชื่อมต่อ มันใช้สองอย่างที่แตกต่างกัน ดังนั้นคลาสใน UML จึงแสดงถึงอินเทอร์เฟซการมีเพศสัมพันธ์แบบเต็มสำหรับคลาสการเขียนโปรแกรมในขณะที่อินเทอร์เฟซ UML แสดงถึงอินเทอร์เฟซการแยกส่วนของคลาสการเขียนโปรแกรม อันที่จริง แผนภาพคลาสใน UML ไม่ได้ดูแลการใช้งานและสิ่งประดิษฐ์ทั้งหมดอยู่ที่ระดับอินเตอร์เฟสการเขียนโปรแกรม ในขณะที่เราแมปคลาส UML กับคลาสการเขียนโปรแกรมมันเป็นการเปลี่ยนนามธรรมนามธรรมให้เป็นนามธรรมที่เป็นรูปธรรม มีความละเอียดอ่อนที่อธิบายถึงการแบ่งขั้วระหว่างสาขาการออกแบบและสาขาการเขียนโปรแกรม ดังนั้นคลาสใน UML จึงเป็นคลาสการเขียนโปรแกรมจากมุมมองของอินเทอร์เฟซการเขียนโปรแกรมในขณะที่พิจารณาสิ่งที่ซ่อนอยู่ภายใน
อินเทอร์เฟซยังอนุญาตให้จำลองการสืบทอดหลายรายการเมื่อไม่สามารถใช้งานได้อย่างไม่สะดวก ตัวอย่างเช่นคลาส cat จะใช้ส่วนต่อประสาน cat ที่ได้มาจากส่วนต่อประสานสัตว์ คลาสแมวนี้จะใช้อินเทอร์เฟซเหล่านี้ด้วยเช่นเดินวิ่งกินและส่งเสียง สิ่งนี้ชดเชยการไม่มีมรดกหลายรายการในระดับชั้นเรียน แต่ทุกครั้งที่คุณต้องนำทุกอย่างกลับมาใช้ใหม่และคุณไม่สามารถแยกความเป็นจริงได้ดีที่สุดเหมือนความเป็นจริงที่เกิดขึ้นเอง
เพื่อให้เข้าใจว่าเราสามารถอ้างถึงการเข้ารหัส Pascal Object ที่คุณกำหนดอินเทอร์เฟซและส่วนการนำไปใช้งานในหน่วย ในอินเทอร์เฟซคุณกำหนดประเภทและในการใช้งานคุณใช้ประเภท:
unit UnitName;
interface
type
TheClass = class
public
procedure TheMethod;
end;
implementation
class procedure TheClass.TheMethod;
begin
end;
ที่นี่ส่วนอินเทอร์เฟซตรงกับการออกแบบคลาส UML ในขณะที่ประเภทอินเตอร์เฟสจึงเป็นสิ่งอื่น ๆ
ดังนั้นในธุรกิจของเราเรามีคำเดียวอินเทอร์เฟซเพื่อเสนอชื่อสองสิ่งที่แตกต่างกัน แต่คล้ายกันและเป็นที่มาของความสับสน
ตัวอย่างเช่นใน C # อินเทอร์เฟซการเขียนโปรแกรมช่วยให้สามารถชดเชยการไม่มีความหลากหลายทั่วไปที่แท้จริงในประเภทเปิดโดยไม่ประสบความสำเร็จตามเป้าหมายเพราะคุณสูญเสียความสามารถในการพิมพ์อย่างมาก
ท้ายที่สุดแล้วอินเทอร์เฟซมีความจำเป็นเพื่อให้ระบบที่เข้ากันไม่ได้สื่อสารกันได้โดยไม่ต้องกังวลเกี่ยวกับการนำไปใช้งานและการจัดการอ็อบเจ็กต์ในหน่วยความจำเหมือนที่แนะนำด้วย Common Object Model (Distributed)
คลาสคืออะไร?
หลังจากกำหนดการลดลงของความเป็นจริงจากมุมมองภายนอกแล้วคุณสามารถอธิบายได้จากมุมมองภายใน: นี่คือคลาสที่คุณกำหนดการประมวลผลข้อมูลและการจัดการข้อความเพื่อให้ความเป็นจริงที่คุณห่อหุ้มมีชีวิตขึ้นมาและโต้ตอบได้ขอบคุณ ไปยังวัตถุโดยใช้อินสแตนซ์
ดังนั้นใน UML คุณจะตระหนักถึงการแช่เศษส่วนในล้อของเครื่องจักรและคุณอธิบายถึงสถานะการโต้ตอบและอื่น ๆ เพื่อให้สามารถใช้นามธรรมของส่วนย่อยของความเป็นจริงที่คุณต้องการจัดการได้
ดังนั้นคลาสนามธรรมจึงเทียบเท่ากับอินเตอร์เฟสจากมุมมองของคอมไพเลอร์
ข้อมูลมากกว่านี้
โปรโตคอล (การเขียนโปรแกรมเชิงวัตถุ)
C # - อินเทอร์เฟซ
C # - ชั้นเรียน