ในบทนี้ เราจะพูดเกี่ยวกับเมธอดในภาษา C# คุณจะได้เรียนวิธีการสร้างเมธอดและการเรียกใช้มัน
เมธอด ในอีกคำหนึ่งที่รู้จักกันก็คือ ฟังก์ชัน ดังนั้นอย่างสับสนระหว่างสองคำนี้ แต่คำว่าเมธอดใช้สำหรับฟังก์ชันที่อยู่ในคลาส (การเขียนโปรแกรมเชิงวัตถุ) อย่างไรก็ตามในบทเรียนนี้เราอาจจะใช้ทั้งสอง
ในการสร้างเมธอด มันมีรูปแบบดังนี้:
ต่อไป เราจะอธิบายส่วนต่างๆ ของการประกาศเมธอด
เราได้ตั้งชื่อให้กับเมธอดของเราว่า
ต่อไปมาดูตัวอย่างการสร้างเมธอดที่มีการส่งค่ากลับ
ในบทนี้ คุณได้เรียนสิ่งที่จำเป็นที่จะต้องรู้เกี่ยวกับเมธอด และได้เรียนรู้ทั้งเมธอดที่มีการส่งค่ากลับและไม่มีการส่งค่ากลับ
เมธอด คืออะไร
ใน ภาษา C# เมธอดนั้นเป็นส่วนหนึ่งของโปรแกรมเพื่อให้ดำเนินการบางอย่าง กล่าวอีกนัยหนึ่ง มันคือส่วนย่อยของโปรแกรมที่ถูกเรียกโดยโปรแกรมหลักและมันสามารถนำกลับมาใช้ ซ้ำได้ การสร้างเมธอดช่วยให้ลดจำนวนของซอสโค้ดที่เขียนขึ้นได้ การนำกลับมาใช้ใหม่ และทำให้ง่ายในการแก้ไขโปรแกรมในภายหลังเมธอด ในอีกคำหนึ่งที่รู้จักกันก็คือ ฟังก์ชัน ดังนั้นอย่างสับสนระหว่างสองคำนี้ แต่คำว่าเมธอดใช้สำหรับฟังก์ชันที่อยู่ในคลาส (การเขียนโปรแกรมเชิงวัตถุ) อย่างไรก็ตามในบทเรียนนี้เราอาจจะใช้ทั้งสอง
เมธอดในภาษา C#
ในภาษา C# จะมีเมธอดอยู่สองประเภท แบบแรกคือ predefined method มันคือเมธอดที่สร้างมากับไลบรารี่มาตรฐานของภาษา C# ซึ่งมันจะอยู่ในคลาส ยกตัวอย่างเช่นSystem.WriteLine()
นี่บ่งบอกว่าเมธอด WriteLine นั้นอยู่ในคลาส System และเมธอดประเภทที่สองคือ user-defined method เป็นเมธอดที่เขียนขึ้นเองโดยโปรแกรมเมอร์ ในบทเรียนนี้ เราจะพูดเน้นในแบบที่สองUser-defined method
User-defined method (เมธอดที่สร้างโดยผู้ใช้ ) นั้นเป็นเมธอดที่ถูกสร้างขึ้นเพื่อทำงานบางอย่างโดยผู้ใช้ เพราะว่าภาษา C# นั้นเป็นภาษาในการเขียนโปรแกรมเชิงอ็อบเจ็ค เมธอดนั้นจะต้องอยู่ในคลาส คุณจะได้เรียนรู้เกี่ยวกับคลาสภายหลังในบทเรียนนี้ในการสร้างเมธอด มันมีรูปแบบดังนี้:
access_modifier type identifier (parameter1, parameter2, ... ) { // statements return result; }รูปแบบนี้ถูกใช้เมื่อคุณต้องการสร้างเมธอดที่มีการส่งค่ากลับ (return) ไปยังส่วนของโปรแกรมที่เรียกใช้มัน มาดูอีกรูปแบบหนึ่ง
access_modifier void identifier (parameter1, parameter2, ... ) { // statements }รูปแบบนี้จะถูกใช้เมื่อไม่มีค่าที่จะส่งหลับไป คุณสังเกตุในคำสั่ง
void
นั้นจะถูกใช้แทน return typeต่อไป เราจะอธิบายส่วนต่างๆ ของการประกาศเมธอด
- access_modifier:บ่งบอกถึงระดับการเข้าถึงได้ของเมธอดมรคลาส โดยจะมีอยู่ 4 แบบคือ
public
protected
private
และinternal
ถ้าหากคุณปล่อยให้มันว่างปล่าวนั้นจะเป็นแบบprotected
- type : เป็นประเภทของข้อมูลที่คุณอยากจะส่งค่ากลับ มันสามารถเป้นชนิดข้อมูลพื้นฐานในภาษา C# หรือเป็นอ็อบเจ็ค เช่น
int
float
String
Class_Name เป็นต้น เมื่อเมธอดไม่มีค่าอะไรที่จะส่งกลับเราจะใช้คำสั่งvoid
แทนเหมือนที่คุณเห็นในรูปแบบที่สอง - parameters: เป็นค่าของตัวแปรที่ส่งเข้ามาในเมธอด และเป็นทางเลือก
- return เป็นคำสั่งที่ใช้ส่งค่าข้อมูลกลับ ยกตัวอย่างเช่น เมธอดที่มี return เป็น
int
นั้นค่าที่ส่งกลับจะต้องเป็นตัวเลขจำนวนเต็ม - static: คำสั่ง
static
ถูกใช้ประกาศหลังจาก access modifier ถ้าเมธอดที่ถูกสร้างขึ้นนั้นจำเป็นที่จะต้องแชร์บางอย่างที่เหมือนกันสำหรับ ทุกๆ อ็อบเจ็คที่สร้างจากคลาส
สร้างเมธอด
ในการที่จะสร้างเมธอด คุณจะเป็นต้องทำตามรูปแบบข้างบน มาดูตัวอย่างวิธีการสร้างเมธอดในภาษา C#using System; class CreatingMethod { static void Main(string[] args) { String name = "Marcus"; int sex = 0; String sport= "hockey"; displayBio(name, sex, sport); displayBio("Janifer", 1, "swimming"); displayBio("Carl", 0, "football"); Console.ReadKey(); } static void displayBio(String n, int s, String sp) { if (s == 0) { Console.WriteLine(n + " has " + sp + " as his favorite sport."); } else { Console.WriteLine(n + " has " + sp + " as her favorite sport."); } } }ในตัวอย่าง เราได้สร้างเมธอดเพื่อแสดงกีฬาโปรดของบุคคล สังเกตุว่าเมธอด main นั้นสร้างจากคำสั่ง
static
ดังนั้นเมธอดที่เรียกใช้จากเมธอด Main ก็จะต้องสร้างจากคำสั่ง static
ด้วยเช่นกันเราได้ตั้งชื่อให้กับเมธอดของเราว่า
displayBio
และมันมี 3 พารามิเตอร์ที่ส่งเข้าในเมธอดนี้ เราเรียกใช้เมธอดนี้ในเมธอด
Main และเราจะส่งอากิวเมนต์ให้สอดคล้องกันกับลำดับพารามิเตอร์ของมัน คำสัง void
นั้นหมายความว่าเมธอดนี้จะไม่มีการส่งค่ากลับไป เนื่องจากว่าเราต้องการแค้นำค่ามาแสดงผลในเมธอดเท่านั้นMarcus has hockey as his favorite hobbie. Janifer has swimming as her favorite hobbie. Carl has football as his favorite hobbie.และนี่เป็นผลลัพธ์ของโปรแกรมที่แสดงชื่อ เพศ และกีฬาโปรดในเมธอด
ต่อไปมาดูตัวอย่างการสร้างเมธอดที่มีการส่งค่ากลับ
การสร้างเมธอดที่มีการส่งค่ากลับ
โดย ทั่วไปแล้ว เมธอดนั้นจะต้องมีค่าที่จะส่งกลับไปนำไปใช้ในส่วนที่ถูกเรียกของโปรแกรม คิดว่าเมธอดเป็นเหมือนที่สำหรับการทำงานบางอย่างและส่งแค่ผลลัพธ์กลับไป เมื่อมันทำงานเสร็จสิ้นusing System; class CreatingMethod2 { static void Main(string[] args) { int a = 10; int b = 25; Console.WriteLine(getText(a) + getSum(a)); Console.WriteLine(getText(b) + getSum(b)); Console.WriteLine(getEndText()); Console.ReadKey(); } static String getText(int n) { return "Sum bewteen 1-" + n + " is "; } static int getSum(int n) { int sum = 0; for (int i = 1; i <= n; i++) { sum += i; } return sum; } static String getEndText() { return "Program ended."; } }จากตัวอย่าง นี่เป็นโปรแกรมในการหาผลลรวมของตัวเลขระหว่าง 1 -
n
เมื่อ n คืออากวิเมนต์ที่ส่งเข้ามายังเมธอด และส่งค่ากลับไปหลังจากที่คำนวณเสร็จแล้วint x = getSum(10); // 55 boolean y = (getSum(10) == 55);จากโค้ดคำสั่งด้านบน มันจะมีค่าเท่ากับ 55 และมีประเภทข้อมูลเป็น Integer ซึ่งตรงกับในตอนที่สร้างเมธอด ดังนั้น expression
(getSum(10) == 55)
จะมีค่าเป็นจริงSum bewteen 1-10 is 55 Sum bewteen 1-25 is 325 Program ended.และนี่เป็นผลลัพธ์ของโปรแกรมเมื่อเราได้ส่งตัวเลขต่างๆ เข้าไปยังเมธอด และผลลัพธ์ของมัน
ในบทนี้ คุณได้เรียนสิ่งที่จำเป็นที่จะต้องรู้เกี่ยวกับเมธอด และได้เรียนรู้ทั้งเมธอดที่มีการส่งค่ากลับและไม่มีการส่งค่ากลับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น