Translate

วันเสาร์ที่ 5 มกราคม พ.ศ. 2556

เมธอด

เมธอดคืออะไร


  • เมธอด (Method) คือ ความสามารถในการทำงานของออบเจ็กต์ มันถูกสร้างขึ้นมาพร้อมกับการสร้างออบเจ็กต์ ซึ่งออบเจ็กต์ที่สร้างจากคลาสเดียวกันก็จะมีรายการของเมธอดต่างๆ เหมือนกัน 
  • การที่ออบเจ็กต์มีเมธอดจะช่วยให้ผู้ใช้งาน ไม่ต้องกังวล หรือไม่ต้องสนใจว่า จะมีวิธีการทำงานภายในเมธอดเป็นอย่างไร สนใจเพียงแค่ใช้งานอย่างไร ช่วยให้เมธอดที่มีไม่ถูกยุ่งย่ามก้าวก่ายโดยไม่จำเป็น 




อาร์กิวเมนต์และพารามิเตอร์














เมธอดหลักและเมธอดย่อย



เมธอดหลัก
  • สร้างขึ้นเพื่อเรียกเมธอดอื่นๆ ขึ้นมาทำงาน
  • มีการเข้าถึงเมธอดหลักแบบสาธารณะ(public) สามารถนำเมธอดหลักไปใช้ได้กับทุกๆ คลาส
  • สามารถเรียกใช้งานได้ทันทีไม่ต้องผ่านออบเจ็กต์
  • ไม่มีการคืนค่ากลับไปที่เมธอดอื่น
  • รูปแบบการสร้างเมธอดหลัก
public static void main(String[ ] args)
{
    รายละเอียดการทำงานในเมธอด
}

  • สำหรับเมธอดย่อยทั่วๆ ไปที่ไม่ใช่เมธอดหลัก อาจเป็น static method ,instant method, contructor method, Overloading method หรือ Overriding method ก็ได้ แต่ละชนิดมีโครงสร้างไม่เหมือนกับเมธอดหลัก ส่วนประกอบบางอย่างอาจมีหรือไม่มีก็ได้ตามแต่ลักษณะการทำงาน
  • รูปแบบการสร้างเมธอดย่อย
การเข้าถึงเมธอด ชนิดของข้อมูลที่จะส่งกลับออกไป ชื่อเมธอด (ลักษณะของตัวแปรส่ง ชื่อตัวแปรส่ง)
{
รายละเอียดการทำงานในเมธอด
}

Method รูปแบบต่างๆ
เมธอดมีอยู่ด้วยกัน 5 ประเภทแบ่งตามลักษณะการทำงานดังนี้

  • ประเภทที่ 1 : static method  เป็นเมธอดที่เรียกใช้ตัวแปรได้ทันที ไม่ต้องมีการสร้างออบเจ็กต์ขึ้นมาเพื่อเรียกใช้ตัวแปร เช่น การคำนวณทางคณิตศาสตร์  ซึ่ง static method จะรับค่าที่ผู้ใช้ต้องการคำนวณ และทำการคำนวณ แล้วส่งผลลัพธ์กลับไปยังผู้ใช้ 
ตัวอย่าง static method


  • ประเภทที่ 2 :instance method เป็นเมธอดทั่วๆ ไปที่สร้างขึ้นมาใช้กันบ่อยๆ เมธอดแบบนี้จะไม่มีคำว่า static อยู่ข้างหน้าตัวแปร เมื่อจะเรียกใช้ method ประเภทนี้ จะต้องมีการสร้างออบเจ็กต์ขึ้นมา
ตัวอย่าง instance method 

  • ประเภทที่ 3 : constructor method /  constructor คือเมธอดที่มีชื่อเดียวกับคลาส ซึ่งเมื่อออบเจ็กต์ใดๆ ถูกสร้างขึ้นมาจากคลาสแล้ว เมธอดนี้จะเริ่มทำงานทันทีเป็นเมธอดแรก (ปกติมักจะใช้กำหนดค่าเริ่มต้นของการทำงาน)
ตัวอย่าง constructor method

  • ประเภทที่ 4 : Overloading method  คือ เมธอดหลายเมธอดที่มีชื่อเดียวกัน แต่มีชนิดของตัวแปรต่างชนิดกัน หรือจำนวนอาร์กิวเมนต์ไม่เท่ากัน เพราะงานบางงานอาจใช้ชื่องานเดียวกัน แต่ต้องมีการแยกแยะว่า มีการส่งค่าตัวแปรชนิดใดมา เช่น ถ้าส่งค่าตัวแปรมาเป็น Integer ก็ให้ทำงานในเมธอดหนึ่ง ถ้าส่งมาเป็น String ก็ให้ทำงานในอีกเมธอดหนึ่ง 
ตัวอย่าง Overloading method

  • ประเภทที่ 5 : Overriding method   คือ เมธอดหลายเมธอดที่มีชื่อเดียวกัน ชนิดของตัวแปรเหมือนกัน แต่เขียนโปรแกรมในลักษณะที่เมธอดหนึ่งอยู่ในคลาสแม่ อีกเมธอดหนึ่งอยู่ในคลาสลูก ซึ่งเมื่อมีเมธอดชื่อซ้ำกัน รับค่าของตัวแปรเหมือนกันปรากฏในคลาสลูกโปรแกรมจะทำงานตามคำสั่งในคลาสลูกโดยอัตโนมัติ ซึ่งส่วนนี้เราจะอธิบายอย่างละเอียดในบท Inheritance 
ตัวอย่าง Overriding method



ไม่มีความคิดเห็น:

แสดงความคิดเห็น