1. ฟังก์ชัน/เมธอดในภาษาจาวา
คุณได้เรียนรู้คำสั่ง Java มากมายแล้ว ซึ่งหมายความว่าคุณสามารถเขียนโปรแกรมที่ค่อนข้างซับซ้อนได้ โค้ด 10, 20, 30 บรรทัดในโปรแกรมไม่ใช่โปรแกรมที่ใหญ่มากใช่ไหม
แต่โปรแกรมที่มีมากกว่า 100+ ตอนนี้มีขนาดใหญ่ และอาจค่อนข้างยากที่จะเข้าใจโค้ด มีอะไรที่คุณสามารถทำได้เพื่อลดความซับซ้อนในการเขียนและอ่านโปรแกรมที่มีโค้ดจำนวนมากหรือไม่?
ใช่ และวิธีการ (หรือฟังก์ชั่น) จะช่วยเราในเรื่องนี้
วิธีการคืออะไร? กล่าวอย่างง่ายๆ เมธอดคือกลุ่มของคำสั่งที่มีชื่อเฉพาะ กล่าวอีกนัยหนึ่งคือเราใส่คำสั่งหลายคำสั่งลงในกลุ่มเดียวและตั้งชื่อเฉพาะให้กับมัน และนั่นคือวิธีการพร้อมแล้ว
ตัวอย่าง:
โดยไม่มีวิธีการ | ด้วยวิธีการ |
---|---|
|
|
ในโปรแกรมในคอลัมน์ด้านซ้าย เราใช้รหัสเดิมซ้ำสามครั้ง — เราทำสิ่งนี้โดยเจตนาเพื่อแสดงประเด็น แต่ในโปรแกรมทางด้านขวา เราได้ย้ายโค้ดที่ซ้ำกันไปยังเมธอดที่แยกจากกันและตั้งชื่อเฉพาะprintWiFi
—
และแทนที่จะเป็น relocated code เราเรียกprintWiFi()
method 3 ครั้ง
เมื่อรันโปรแกรมในคอลัมน์ทางขวา ทุกครั้งที่printWiFi()
ดำเนินการเมธอด คำสั่งทั้งหมดภายในprintWiFi()
เมธอดจะถูกดำเนินการ เราเพิ่งสร้างคำสั่งใหม่ (เมธอด) รวมหลายคำสั่งไว้ในกลุ่มเดียว
รหัสใด ๆ สามารถแบ่งออกเป็นวิธีการแยกกัน สิ่งนี้ทำเพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้น: แนวคิดคือการมีวิธีการเล็ก ๆ มากมายดีกว่าวิธีการใหญ่ ๆ ในไม่ช้าคุณจะประหลาดใจว่ามีครั้งหนึ่งที่คุณเขียนโปรแกรมของคุณเองโดยไม่ได้เขียนวิธีการของคุณเอง
2. การประกาศวิธีการใน Java
แล้วคุณจะเขียนวิธีการของคุณอย่างไรให้ถูกต้อง?
public static void name()
{
method body
}
มีความแตกต่างมากมายที่ต้องพิจารณาเมื่อประกาศ (สร้าง) วิธีการ แต่เราจะเริ่มต้นด้วยพื้นฐาน เราจะประกาศวิธีที่ง่ายที่สุดได้อย่างไร? การประกาศวิธีการอย่างง่ายมีลักษณะดังนี้:
name
ชื่อเฉพาะของเมธอดอยู่ที่ไหน และ method body
แสดงถึงคำสั่งที่ประกอบเป็นเมธอด ความหมายของคำpublic
ว่าstatic
, และvoid
จะกล่าวต่อไป.
หลังจากที่เราสร้างเมธอดแล้ว เราสามารถเรียกใช้เมธอดอื่นๆ ของเราได้ การเรียกใช้เมธอดมีลักษณะดังนี้:
name();
name
ชื่อเฉพาะของเมธอดที่เราต้องการเรียกใช้คือเมธอดที่มีคำสั่งที่เราต้องการดำเนินการเมื่อเราไปถึงการเรียกเมธอด
เมื่อโปรแกรมถึงการเรียกเมธอด มันจะเข้าสู่เมธอด ดำเนินการคำสั่งทั้งหมด กลับสู่เมธอดเดิม และดำเนินการต่อไป
อย่างที่คุณอาจเดาได้ในตอนนี้ คำสั่งส่วนใหญ่ที่เราได้เรียนรู้จนถึงตอนนี้เป็นเพียงวิธีการที่เขียนโดยโปรแกรมเมอร์คนอื่นๆ เพื่อทำให้ชีวิตของเราง่ายขึ้น: , , ฯลฯSystem.out.println()
Thread.sleep()
เมธอดอาจมีการเรียกเมธอดอื่น:
รหัส | บันทึก |
---|---|
|
เรียก printWiFi10Times() เมธอดประกาศ printWiFi10Times เมธอดเรียก printWiFi() เมธอด 10 ครั้งติดต่อกันประกาศ printWiFi เมธอดแสดงข้อความบนหน้าจอ:
|
3. ข้อเท็จจริงเกี่ยวกับวิธีการ
ต่อไปนี้เป็นข้อเท็จจริงเพิ่มเติมเกี่ยวกับวิธีการ:
ข้อเท็จจริง 1. เมธอดเป็นส่วนหนึ่งของคลาสเสมอ
เมธอดสามารถประกาศได้ในคลาสเท่านั้น ไม่สามารถประกาศเมธอดในเมธอดอื่นได้ ไม่สามารถประกาศเมธอดนอกคลาสได้
ความจริง 2. ชื่อของเมธอดไม่มีความหมายศักดิ์สิทธิ์
ไม่สำคัญว่าจะเรียกเมธอดใด — ซึ่งไม่มีผลใดๆ วิธีการหลักก็เหมือนกับวิธีการอื่นๆ เพียงแค่ชื่อนี้ถูกเลือกสำหรับวิธีการที่เครื่อง Java จะเริ่มการทำงานของโปรแกรม ไม่มีอะไรวิเศษเกี่ยวกับมัน
ข้อเท็จจริงที่ 3 ลำดับของเมธอดในคลาสไม่สำคัญ
คุณสามารถเขียนเมธอดของคุณในคลาสในลำดับใดก็ได้ — สิ่งนี้จะไม่ส่งผลกระทบต่อการทำงานของโปรแกรมแต่อย่างใด ตัวอย่าง:
รหัส | |
---|---|
|
|
ความจริงข้อที่ 4 ตัวแปรภายในเมธอดหนึ่งไม่เกี่ยวข้องกับตัวแปรของเมธอดอื่นแต่อย่างใด
สิ่งที่เกิดขึ้นในเวกัสอยู่ในเวกัส. และตัวแปรที่ประกาศภายในเมธอดจะอยู่ภายในเมธอด
ตัวแปรที่มีชื่อเดียวกันสามารถประกาศได้สองวิธีติดกัน และตัวแปรเหล่านี้ไม่เกี่ยวข้องกันแต่อย่างใด
4. ชื่อเมธอด
เป็นที่ทราบกันมานานแล้วว่าปัญหาที่ยากที่สุดสองประการในการเขียนโปรแกรมคือการเลือกชื่อที่เหมาะสมสำหรับวิธีการและการเลือกชื่อที่เหมาะสมสำหรับตัวแปร
อันที่จริง วิทยาศาสตร์เกือบทั้งหมดได้เกิดขึ้นแล้วเกี่ยวกับวิธีการตั้งชื่อเมธอดอย่างถูกต้อง และแต่ละภาษาโปรแกรมก็มีมาตรฐานของตัวเอง ใน Java เป็นธรรมเนียมที่ต้องปฏิบัติตามหลักการเหล่านี้:
หลักการ 1.ชื่อเมธอดควรอธิบายสั้น ๆ ว่าเมธอดทำอะไร
จากนั้นโปรแกรมเมอร์คนอื่นที่อ่านโค้ดของคุณสามารถอาศัยชื่อของเมธอดเพื่อเดาว่าโค้ดนั้นใช้ทำอะไร เขาหรือเธอไม่จำเป็นต้องดูโค้ดของเมธอดที่เรียกใช้ทุกครั้ง และจุดประสงค์ของวิธีการนั้นง่ายต่อการจดจำ
Recall ใช้เพื่อ 'ทำให้โปรแกรมเข้าสู่โหมดสลีป' และใช้เพื่อ 'อ่านจำนวนเต็มถัดไป' สะดวกใช่ไหม?Thread.sleep()
Scanner.nextInt()
หลักการที่ 2ชื่อเมธอดสามารถเป็นได้หลายคำ
อย่างไรก็ตาม มีข้อจำกัดหลายประการเมื่อทำเช่นนี้:
- คุณไม่สามารถมีช่องว่างในชื่อเมธอด: คำทั้งหมดจะถูกเขียนเข้าด้วยกัน
- แต่ละคำเป็นตัวพิมพ์ใหญ่ ยกเว้นคำแรก
- ชื่อเมธอดจะขึ้นต้นด้วยตัวพิมพ์เล็กเสมอ
จำprintWiFi10Times
วิธีการ ชื่อนั้นหมายความว่าอย่างไร? "แสดงคำว่า 'WiFi' 10 ครั้ง" คุณไม่ควรใส่คำจำนวนมากในชื่อเมธอด: ชื่อควรสะท้อนถึงแก่นแท้ของเมธอด
มาตรฐานสำหรับวิธีการตั้งชื่อนี้เรียกว่า CamelCase (ตัวพิมพ์ใหญ่จะเหมือนกับโหนกของอูฐ)
หลักการที่ 3 ชื่อวิธีการขึ้นต้นด้วยกริยา
เมธอดทำหน้าที่บางอย่างเสมอ ดังนั้น คำแรกในชื่อเมธอดจึงเป็นการกระทำเสมอ
ต่อไปนี้เป็นชื่อเสียสำหรับเมธอด: home
, cat
, car
, train
, ...;
ชื่อที่ดีคือ: run
, execute
, print
, read
, write
, ...
หลักการที่ 4 ใช้ตัวอักษรและตัวเลขละตินเท่านั้น
Java มีการสนับสนุนที่ยอดเยี่ยมสำหรับภาษาต่างๆ คุณสามารถเขียนชื่อตัวแปร เมธอด และคลาสในภาษารัสเซียและภาษาจีน — ทุกอย่างจะได้ผล!
แต่! คุณจะต้องเรียน Java นานเท่าไหร่ ถ้าSystem.out.println()
วิธีการเขียนเป็นภาษาจีน? นานกว่าตอนนี้มากใช่ไหม? นั่นคือจุดแรก
ประการที่สอง ทีมพัฒนาซอฟต์แวร์จำนวนมากมาจากนานาชาติ ไลบรารี Java จำนวนมากถูกใช้โดยโปรแกรมเมอร์จากทั่วทุกมุมโลก
ดังนั้น ขอแนะนำให้ใช้เฉพาะตัวอักษรละตินและตัวเลขในชื่อเมธอด
GO TO FULL VERSION