Inheritance in Interfaces
เสฏฐพงศ์ มณีศาสตร์ 650710591
การสืบทอดอินเทอร์เฟซใน C#
การสืบทอดอินเทอร์เฟซ หมายถึงการสร้างอินเทอร์เฟซใหม่โดยรับสมาชิก (เมธอด, คุณสมบัติ) ทั้งหมดจากอินเทอร์เฟซที่มีอยู่แล้วมาใช้งาน และสามารถเพิ่มสมาชิกใหม่เข้าไปได้
ใน C# สามารถสืบทอดอินเทอร์เฟซได้โดยใช้เครื่องหมาย colon ( : ) ต่อท้ายหลังชื่ออินเทอร์เฟซที่จะทำการสร้าง แล้ว ตามด้วยชื่อของอินเทอร์เฟซที่ต้องการจะสืบทอด
Syntax:
ตัวอย่างการสืบทอดอินเทอร์เฟซ:
การสืบทอดหลายอินเทอร์เฟซ
ใน C# สามารถสืบทอดได้หลายอินเทอร์เฟซพร้อมกันโดยใช้เครื่องหมายคอมมา (,
)
,
)ประโยชน์ของการใช้การสืบทอดอินเทอร์เฟซ
ด้านการจัดระเบียบโค้ด: การสืบทอดอินเทอร์เฟซช่วยให้สามารถรวมพฤติกรรมของอินเทอร์เฟซหลาย ๆ ตัวไว้ในคลาสเดียวกันได้ โดยที่โค้ดจะถูกจัดระเบียบและทำความเข้าใจได้ง่ายขึ้น
ด้านการลดความซ้ำซ้อนของโค้ด: เมื่อมีหลายอินเทอร์เฟซที่มีเมธอดคล้ายกัน การใช้การสืบทอดจะช่วยลดการเขียนโค้ดซ้ำซ้อน เพราะสามารถสร้างอินเทอร์เฟซพื้นฐานแล้วค่อยสืบทอดจากอินเทอร์เฟซนั้นมา implement ต่อได้
เพิ่มความยืดหยุ่น: การสืบทอดในอินเทอร์เฟซช่วยให้ผู้พัฒนาสามารถปรับเปลี่ยนหรือขยายฟังก์ชันการทำงานของอินเทอร์เฟซได้โดยไม่ต้องเปลี่ยนแปลงโค้ดหลักมากเกินไป สามารถเพิ่มอินเทอร์เฟซใหม่ที่สืบทอดจากอินเทอร์เฟซเดิมได้โดยไม่ยุ่งยาก
เปรียบเทียบภาษา C# กับ C++,Java,Python
การสืบทอดอินเทอร์เฟซของ C++
ไม่ได้มีคอนเซ็ปต์ของอินเทอร์เฟซโดยตรง แต่เราสามารถสร้างโครงสร้างที่คล้ายกันได้โดยใช้ Abstract Class
รองรับการสืบทอดหลายอินเทอร์เฟซ
การสืบทอดอินเทอร์เฟซของ java
คล้ายกับภาษา C# รองรับการสืบทอดหลายอินเทอร์เฟซ
การสืบทอดอินเทอร์เฟซของ Python
ใน Python ไม่มีการสืบทอดอินเทอร์เฟซโดยตรงเหมือนในภาษาอื่น เช่น Java หรือ C# แต่เราสามารถใช้แนวคิดที่คล้ายกันผ่านการใช้ abstract base classes (ABCs) และ สามารถ multiple inheritance ได้
ตัวอย่าง
Video:
Slide:
Reference:
inheritance in C#
C# Inheritance in interfaces
Interfaces in C++:
inheritance in C++
inheritance in Java
inheritance in Python
interfaces in Python:
Last updated