Interface คืออะไร และการใช้งาน interface

บทความโดย: 9Expert Team

Interface คืออะไร และการใช้งาน interface

9Expert Team 1 นาที

Interface คือ การกำหนดความสามารถของ object ใน OOP ว่าจะมีความสามารถตามที่ interface กำหนดไว้ หากจะทำการ implement interface นั้น ซึ่งก็ถือว่า เป็นการแยก Specification ออกจาก ส่วน implementation ของ class นั่นเอง

ใช้สำหรับ Class อื่น ๆ สืบทอดไปใช้ โดยแต่ละ Class สามารถสืบทอดจาก Interface ได้มากกว่า 1 interface โดยใน Interface จะถูกกำหนดเพียงชื่อของงานที่ต้องทำเท่านั้น ส่วนคำสั่งในการทำงาน Class ที่สืบทอดไปสามารถกำหนดได้ตามที่ต้องการ

บทความที่เกี่ยวข้อง

.NET Core 2 และ C# 7 : Deconstruct Tuple และ Type อื่นๆ

.NET Core 2 และ C# 7 : Deconstruct Tuple และ Type อื่นๆ

ภาษาC# 7.0 ขึ้นไปสนับสนุนการประกาศตัวแปรแบบ discard ซึ่งเป็นตัวแปรแบบเขียนได้เท่านั้น (read-only) โดยที่ท่านจะประกาศตัวแปรแบบนี้กี่ตัวก็ได้ แต่ทุกตัวจะมีชื่อเดียวกันหมดคือ _ (เครื่องหมายขีดเส้นใต้หรือ underscore) ประโยชน์ของตัวแปรแบบ discard คือการนำไปใช้กับTuple (Tuple อ่านรายละเอียดเรื่องTupleได้จากบทความตอนก่อนหน้านี้) เพราะการรับค่าส่งกลับจากmethodที่ส่งค่ากลับเป็นTuple หรือการเรียกใช้methodที่มีพารามิเตอร์แบบ out เราจะต้องประกาศตัวแปรไว้รับค่า ซึ่งบ่อยครั้งที่เราไม่ต้องการใช้ค่าจากตัวแปรเหล่านั้น แต่ก็จำต้องประกาศ ทำให้โค้ดรกรุงรังโดยเปล่าประโยชน์

อ่านเพิ่มเติม
.NET Core 2 และ C# 7 : ref return, ref local และ Local Function

.NET Core 2 และ C# 7 : ref return, ref local และ Local Function

คุณสมบัติ ref return เริ่มตั้งแต่C# 7.0 จากนั้นพอมาถึงC# 7.3 ก็เพิ่มคุณสมบัติ ref local เพื่อให้ใช้งานคู่กัน ทำให้เขียนโค้ดฝั่งmethodและฝั่งตัวรับได้สะดวกยิ่งขึ้นไปอีก ปรกตินักเขียนโค้ดอย่างเราจะใช้ตัวกระทำ ref (ความจริงเป็นmodifierแต่เพื่อให้กระชับต่อไปนี้จะเรียกว่าเป็น “คำสั่ง” ) เมื่อต้องการส่ง “ค่าอ้างอิง” ไปเป็นพารามิเตอร์ (คือการส่งค่าไปยังmethodโดยส่งค่าอ้างอิงไป ไม่ได้ส่งค่าของตัวแปรไป) หรือที่เรียกว่า “การผ่านตัวอ้างอิง” (pass by reference) นี่เป็นคุณสมบัติที่มีในC#ตั้งแต่versionแรก แต่มาตอนนี้เราสามารถใช้คำสั่ง ref ในลักษณะอื่น ๆ ได้ด้วย ในตอนที่ผ่านมาผู้เขียนได้พูดถึงการการใช้ ref return ไปแล้วบางส่วน ในบทความตอนนี้จะอธิบายรายละเอียดของ ref return ที่เหลือ และจะต่อด้วยเรื่องคุณสมบัติ ref local ด้วย

อ่านเพิ่มเติม