SlideShare a Scribd company logo
1 of 43
Download to read offline
เมธอด (method)
Method
          เป็นระเบียบวิธีในการทางาน โดยการจัดกลุ่มข้อมูล
สร้างเป็น Function ย่อยภายในโปรแกรมเพื่อง่ายต่อการบริหาร
จัดการกลุ่มข้อมูล ซึ่งมีทั้ง Method ที่คุณสร้างขึ้นใช้งาน
เอง และ Method ที่ Java นั้นมีอยู่แล้ว รอเพียงการถูกเรียกใช้
โครงสร้างของเมธอด




จากโครงสร้างจะเห็นว่าโปรแกรมหนึ่งอาจมีหลาย Class และในหนึ่ง Class จะ
มีกี่ Method ก็ได้แต่ใน Class หลัก (Class ที่มี public นาหน้า) จะต้องมี main
Method เสมอ
รูปแบบ




Method modifiers เป็นส่วนที่บอกว่าเมธอดนี้สามารถเรียกใช้ได้ในระดับใด จะ
ประกอบด้วยpublic static
Return_ Type ส่วนนี้จะบอกว่าเมื่อเมธอดนี้ถูกเรียกใช้และจะมีการสงค่ากลับมา
หรือไม่ ถ้ามีจะส่งกลับเป็นข้อมูลประเภทใด ถ้าไม่มีส่งค่ากลับจะใช้คาว่า void
MethodName เป็นชื่อของเมธอด
parameter เป็นตัวแปรที่ใช้ส่งข้อมูลเข้าไปในเมธอด ถ้ามีหลายตัวแปรจะใช้
เครื่องหมาย (;)คั่นระหว่างตัวแปร
reture เป็นส่วนที่ใช้ส่งค้ากลับให้กับชื่อเมธอด
ประเภทของเมธอด (Type of Method)

1. Static Method - เมธอดของคลาส เรียกชื่อได้ทันที
2. Instance Method - เมธอดพฤติกรรมทั่วไปในคลาส
3. Constructor Method - เมธอดที่มีชื่อเดียวกับคลาส
4. Overloading Method - ชือเหมือนกัน แต่จานวนหรือชนิดตัวแปรต่างกัน
                             ่
5. Overriding Method - ชื่อเหมือนกันในคลาสแม่และลูก แต่ทางานตามคลาสลูก
1. Static Method
    มีคาว่า static นาหน้า เป็นเมธอดของคลาส สามารถเรียกใช้ตัวแปรได้ทันที โดยไม่
ต้องมีการสร้างอ็อบเจ็กต์ขึ้นมาขึ้นมาเพื่อเรียกใช้
การเรียกใช้:
อยู่ในคลาสเดียวกัน: method(argument);
อยู่ต่างคลาส: class.method(argument);
ถ้าเป็นตัวแปร ก็เรียกชื่อ variable ได้เลย
2. Instance Method
    เมธอดทั่วไปที่บอกพฤติกรรมในคลาสหนึ่งๆ ต้องมีการสร้างอ็อบเจ็กต์ขึ้นมาก่อนจึง
จะเรียกใช้ได้ และค่าของข้อมูลจะเปลี่ยนไปตามอ็อบเจ็กต์ที่สร้างขึ้น
การเรียกใช้:
object.method(argument);
object.attribute
3. Constructor Method
     เมธอดที่มีชื่อเดียวกับคลาส เมื่ออ็อบเจ็กต์ใดๆถูกสร้างขึ้นมาแล้ว เมธอดนี้จะถูก
เรียกขึ้นมาเป็นเมธอดแรกทันที (มักใช้ค่าที่เริ่มต้นการทางานของเครื่อง หรือเรามา
กาหนดค่าเริ่มต้นเอาเอง) constructor ที่สร้างขึ้นมาอัตโนมัติจะไม่มีการรับ
ค่าพารามิเตอร์ และต้องไม่มีคืนค่าเป็น void
Class object = new Class();
4. Overloading Method
  เมธอดที่มีชื่อเหมือนกัน แต่รับอากิวเมนต์ชนิดต่างกันหรือจานวนอากิวเมนต์ไม่เท่ากัน (overload
constructor)

Overloading Method
public int Print(int idbook){...}
public String Print(int bookname){...}
Overloading Constructor
public Circle() {...}
public Circle(int radius) {...}
Output จะแสดง Student
5. Overriding Method

เมธอดที่มีชื่อและชนิดตัวแปรเหมือนกัน แต่เขียนโปรแกรมในลักษณะที่เมธอดหนึ่งอยู่ในคลาสแม่
อีกเมดธอดหนึ่งอยู่ในคลาสลูก ซึ่งเมื่อรับค่ามาเหมือนกัน โปรแกรมจะทางานตามคาสั่งที่อยู่ในเมธอด
ของคลาสลูกโดยอัตโนมัติ (Inheritance)

class Person {
  public void print() {System.out.print("People");}
}

class Student extend Person {
  public void print() {System.out.print("Student");}
}
การเรียกใช้เมธอด
โปรแกรมทุกโปรแกรมเมธอดทีชื่อว่า main()จะถูกเรียกใช้โยอัตโนมัติเมื่อเริ่มต้นทา
โปรแกรมสาหรับเมธอดที่เป็นแบบ static นั้นถ้าหากต้องการใช้งานเมธอดก็สามารถเรียกชื่อ
เมธอดขึ้นมาใช้งานได้ทันที ถ้าหากเมธอดที่เรียกใช้ต้องมีพารามิเตอร์เข้าไปด้วย การเรียกใช้
เมธอดจะต้องระบุค่าพารามิเตอร์ด้วย ตัวอย่างเช่น




     เป็นการเรียกใช้เมธอด displayMessage() ซึ่งไม่ต้องมีกรส่งพารามิเตอร์เข้าไป เมื่อ
     โปรแกรมทางานมาถึงบรรทัดนี้ โปรแกรมจะโดดไปทางานยังเมธอดที่สร้างขึ้นทันที
                SimpleMethod.java เป็นโปรแกรมทีเรียกใช้เมธอดอย่างง่าย
     ในเมธอดหนึ่งๆสามารถเรียกขึ้นมาใช้งานได้หลายครั้ง เช่น
ผลลัพธ์จากการรันโปรแกรมจะเป็นดังนี้
จากโปรแกรม เริ่มต้นจะทาเมธอด main ก่อน เมื่อมีการเรียกชื่อเมธอดที่สร้าง
ขึ้นโปรแกรมจะกระโดดไปยังเมธอดทีสร้างขึ้น แล้วทาไปจนจบ จากนั้นเมธอดจะ
กลับมาทางานที่เมธอดหลักต่อไป
นอกจากนี้ในแต่ละเมธอดที่สร้างขึ้นสามารถเรียกเมธอดอีกเมธอดหนึ่งขึ้นมาใช้งาน
ได้ เรียกว่า hierarchical ตัวอย่างเช่น เมธอด A เรียก เมธอด B ขึ้นมาใช้งาน โดยที่ภายใน
เมธอด B นี้จะเรียกเมธอด C ขึ้นมาใช้งานด้วย การทางานของโปรแกรมนั้นเมื่อทาเมธอด C
จบ JVM จะกลับมาทาเมธอดต่อ และเมื่อทาเมธอด B จบ JVK ก็จะกลับมาทาเมธอด A
ต่อไป
DeepAndDeeper.java เป็นตัวอย่างของเมธอด โดยสร้างสาหรับแสดงผล
ข้อมูลขึ้นมาสองเมธอด
ผลลัพธ์จากการรันโปรแกรมเป็นดังนี้
แนะนาคลาส Math และเมธอดทางคณิตศาสตร์

จากตัวอย่างเมธอดทีได้ศึกษามาเป็นเมธอดที่ไม่มีการคืนค่าออกมา ซึ่งจะใช้คาว่า
void นาหน้า และเป็นเมธอดที่ไม่มีการส่งพารามิเตอร์เข้าไปในเมธอด โดยหลังชื่อ
เมธอดจะเป็นวงเล็บเปิดและตามด้วยวงเล็บปิด เมธอดบางประเภทจะต้องมีการรับ
พารามิเตอร์เข้าไป เมื่อเมธอดทางานจะมีการคืนค่าจากการทาเมธอดออกมาด้วย
ตัวอย่างเช่น เมธอดสาหรับหาค่ารากที่สองของตัวเลขที่รับเข้าไป เราอาจมองเป็น
บล็อกได้ ดังนี้
จากรูปเป็นเมธอดชื่อ sqfrt โดยเมธอดนี้จะรับพารามิเตอร์ที่มีค่าเป็น 16 เข้าไป
จากนั้นเมธอดจะคืนค่ารากที่สองซึ่งมีค่าเป็น 4 ออกมา




   จากรูปเป็นตัวอย่างเมธอดชื่อ area เมธอดนี้จะใช้คานวณหาพื้นที่ของสี่เหลี่ยม
   โดยรับพารามิเตอร์เข้าไปสองค่าคือ ขนาดความกว้างและขนาดความยาว
   จากนั้นเมธอดจะคืนค่าพื้นทีของสี่เหลียมออกมาในภาษาจาวามีคลาส Math ซึ่ง
                               ่
   เป็น API ของจาวาตัวหนึ่งที่ภายในได้บรรจุเมธอดสาหรับใช้งานทาง
   คณิตศาสตร์ไว้มากมาย การเรียกใช้งานเมธอดในคลาสนี้ทาได้โดยเรียกชื่อ
   คลาส ตามด้วยเครื่องหมายจุดแล้วตามด้วยเมธอด อย่างเช่น
   เมธอด Math.pow ใช้สาหรับหาค่ายกกาลัง เป็นต้น นอกจากนี้ภายในคลาสยัง
   บรรจุค่าคงที่ต่างๆ ไว้ด้วย การเรียกใช้เมธอดต่างๆ ผู้ใช้จะต้องทราบว่าเมธอด
   นั้นต้องส่งค่าใดเข้าไป และเมธอดจะคืนค่าใดออกมา การเรียกใช้เมธอดทาง
   คณิตสาสตร์จะทาได้โดยเรียกชื่อคลาส จากนั้นใส่จุดแล้วตามด้วยชื่อเมธอด
   พร้อมใส่อาร์กิวเมนต์เข้าไป เช่น
ตัวอย่างของเมธอดต่างๆ มีดังนี้
  เมธอด Math .pow
   เมธอดนี้จะมีอาร์กิวเมนต์แบบ double สองตัว โดยจะนาอาร์กิวเมนต์ตัว
  แรกไปยกกาลังด้วยอาร์กิวเมนต์ตัวที่สอง เช่น
  จะเป็นการหาค่าของ 4.0 ยกกาลัง 2.0 หรือถ้าหากต้องการหาค่า 3 เท่าของ
  6 ยกกาลัง 3 หาได้ดังนี้
จะเป็นการหาค่าของ 4.0 ยกกาลัง 2.0 หรือถ้าหากต้องการหาค่า 3 เท่าของ6
ยกกาลัง 3 หาได้ดังนี้




     เมธอด Math.sqrt
     เมธอดนี้จะรับค่าอาร์กิวเมนต์แบบdoble เข้าไปหนึ่งตัว จากนั้นจะคืนค่ารากที่
     สองของอาร์กิวเมนต์กลับออกมา เช่น



         จะได้คาตอบออกมาเป็น 3.0
เมธอดMath.random
เมธอดนี้ไมมีค่าอาร์กิวเมนต์ เมื่อเรียกใช้เมธอดนี้โปรแกรมจะสุ่มตัวเลขระหว่าง 0 ถึง
1 ออกมาสาหรับอาร์กิวเมนต์ที่ส่งเข้าไปในเมธอดอาจอยู่ในรูปของค่าคงที่ นิพจน์
หรือตัวแปรก็ได้ เมื่อเมธอดทางานยังสามารถนาไปเป็นอาร์กิวเมนต์ให้กับเมธอดอื่นๆ
ได้อีกด้วย เช่น




     การใช้งานเมธอดผู้เขียนโปรแกรมจะต้องทราบด้วยว่าเมธอดนั้นๆต้องป้อน
     อาร์กิวเมนต์ที่เป็นข้อมูลประเภทใดเข้าไป ป้อนเข้าไปกี่ตัว และเมื่อเมธอด
     ทางานจะคืนค่าข้อมูลชนิดใดออกมา
MathDemo.javaเป็นตัวอย่างการใช้เมธอดในคลาส Math




    เมื่อรันโปรแกรมผลลัพธ์ที่ได้
    จะเป็นดังนี้


     สาหรับการใช้เมธอดRandom หรับสุ่มคัวเลขนั้นโปรแกรมจะคืนค่าระหว่าง0.0
     ถึง 1.0 ออกมาตัวอย่างเป็นการวนลูปสุ่มตัเลขขึ้นมาจานวน 10 ครั้ง โดยกาสุ่ม
     แต่ละครั้งจะได้ค่าต่างกัน
TenRandomNumber.java . แสดงการสุ่มเลขจานวน 10 ครั้ง




เมื่อรันโปรแกรมจะได้
ผลลัพธ์ดังนี้



 จากผลลัพธ์การรันโปรแกรมจะพบว่าค่าตัวเลขที่ออกมาจะเป็นเลขทศนิยม แต่
 ถ้าหากต้องการสุ่มเลขออกมาให้เป็นเลขจานวนเต็มก็ทาได้โดยการเขียน
 โปรแกรมเพิ่มเติม เช่น ถ้าหากต้องการเขียนโปรแกรมสุ่มการทอยลูกเต๋า ซึ่ง
 ต้องการค่าตัวเลขในช่วง 1 ถึง 6 สามารถทาได้ดังขั้นตอนต่อไปนี้
ใช้เมธอด random สุ่มค่ามาเก็บในตัวแปร r




ค่าของตัวแปร r จะได้อยู่ระหว่าง 0.0 ถึง 1.0 ดังนั้นจะต้องปรับค่าให้มีค่ามากขึ้น
โดยนา 6.0 ไปคูณกับค่าที่สุ่มได้ แล้วปรับค่าให้อยู่ในช่วง 1.0 ถึง 7.0 ดังนี้




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

        เช่น เมท็อด PrintCharLine ด้านล่างนี้ดัดแปลงมาจากเมท็อด PrintLine เมท็
        อดใหม่นี้ กาหนดให้มีพารามิเตอร์สองตัว คือ c เป็นชนิด char และ len เป็น
        ชนิด int โดยที่พารามิเตอร์ c ใช้ สาหรับระบุอักขระที่จะพิมพ์ออกทางจอภาพ
        ) ไม่ได้พิมพ์เพียงแค่ดาวอีกต่อไป (และ len ใช้ระบุจานวนอักขระที่ต้องการ
        พิมพ์ในหนึ่งบรรทัด
1: using System;
2: class ParamNoRet {
3: static void PrintCharLine(char c, int len) {
4:         for (int i = 0; i < len; i++)
5:              Console.Write(c);
6:              Console.WriteLine();
7: }
8:
9: static void Main() {
10:          PrintCharLine(’o’, 10);
11:          PrintCharLine(’x’, 20);
12: }
13: }
จากโปรแกรมข้างต้น การเรียกใช้เมท็อด PrintCharLine ครั้งแรกภายในเมท็
อด Main ใน บรรทัดที่ 10 มีอาร์กิวเมนต์เป็น 'o' และ 10 ซึ่งเมท็
อด PrintCharLine จะรับค่าอาร์กิวเมนต์นี้เข้ามาอยู่ในพารามิเตอร์
c และ len ตามลาดับ ดังนั้นจะเห็นว่าบรรทัดที่ 4 และ 5 จะมีผลทาให้โปรแกรม
พิมพ์
อักขระ o ออกทางหน้าจอเป็นจานวน 10 ตัว ในทานองเดียวกัน การเรียกใช้เมท็
อด PrintCharLine ในบรรทัดที่ 11 จะมีผลทาให้โปรแกรมพิมพ์อักขระ x ออก
ทางหน้าจอเป็นจานวน 20 ตัว
4.4 เมธอดที่มีการส่งค่ากลับ
จากเมธอด showSumในตัวอย่างที่ผ่านมาแสดงผลการบวกจะเขียนไว้ในเมธอด
โดยตรง ซึ่งเมธอดนั้นจะไม่มีการส่งค่ากลับ ถ้าหากดูในส่วนหัวของเมธอดจะเห็นว่า
มีคาว่า void ประกอบอยู่ เราสามารถนาเมธอดนี้มาสร้างเป็นเมธอดที่มีการส่งค่ากลับ
ได้ โดยใช้คาว่า return ในการส่งค่ากลับมาให้ชื่อเมธอด โดยประเภทของข้อมูลที่
ส่งกลับมาจะต้องประกาศไว้ในส่วนหัวของเมธอดด้วย ถ้าหากนาเมธอด showSum
มาปรับปรุงจะได้ดังนี้
การเรียกใช้เมธอดแบบมีการส่งค่ากลับจะคล้ายกับการเรียกเมธอดที่ไม่มีการส่งค่า แต่เมธอด
ประเภทนี้จะมีค่าข้อมูลอยู่มนชื่อเมธอดด้วย ดังนั้นจะต้องสร้างตัวแปรขึ้นมาสาหรับรับข้อมูล
ที่ถูกส่งกลับมาด้วย ตัวอย่างเช่น ประกาศตัวแปรชื่อ total ให้เป็นข้อมูลประเภท double ซึ่ง
เป็นข้อมูลประเภทเดียวกับที่เมธอดส่งกลับ มารับข้อมูล เมื่อเขียนสเตตเมนต์แล้วเรียกใช้เมธ
อดก็จะมีข้อมูลส่งกลับมา
นอกจากนี้ ถ้าหากต้องการให้ส่งค่า 3 กับค่า 4 ให้กับเมธอด showSumแล้วต้องการให้
แสดงผลบวกออกมาจะเขียนได้ดังนี้



ในการเขียนเมธอดที่มีการส่งค่ากลับ ค่าที่ส่งกลับมาจะเขียนไว้หลังคาว่า return ซึ่งอาจเป็น
ตัวแปรตัวเดียวหรือนิพจน์ที่มีการประมวลผลก็ได้
         ตัวอย่าง จงสร้างเมธอดชื่อ Add โดยให้เมธอดนี้รับค่าอาร์กิวเมนต์ที่เป็นเลข
จานวนเต็มสองค่าเข้าไป แล้วคืนผลบวกของอาร์กิวเมนต์ทั้งสองออกมา




จากตัวอย่างนี้ค่าของข้อมูลที่ถูกส่งกลับมาจะเขียนเป็นนิพจน์ไว้หลังคาว่า return
ตัวอย่าง จงเขียนเมธอดสาหรับแปลงหน่วยอุณหภูมิจากฟาเรนไฮนต์เป็นองศาเซลเซียส
วิธีทา ความสัมพันธ์ระหว่างองศาฟาเรนไฮต์ กับองศาเซลเซียสคือ
     องศาเซลเซียส = (องศาเซลเซียส-32)/1.8
ดังนั้นสามารถเขียนเมธอดได้ดังนี้




     เมธอดที่สร้างขึ้นนี้จะรับค่าอาร์กิวเมนต์ซึ่งเป็นองศาฟาเรนไฮต์และเป็นข้อมูลแบบ double เมื่อเมธอด
ทางานจะคืนค่าเป็นองศาเซลเซียสซึ่งเป็นข้อมูลแบบ double ออกมา
ตัวอย่าง จงเขียนเมะอดสาหรับแปลงหน่วยอุณหภูมิจากองศาเซลเซียสเป็นองศาฟาเรนไฮต์
วิธีทา สามารถเขียนเป็นเมธอดได้ดังนี้
การส่งค่ากลับแบบบูลีน
          เมธอดอีกชนิดหนึ่งที่พบมากในการเขียนโปรแกรมคือ เมธอดที่มีการส่งค่ากลับ
แบบบูลีน โดยค่าที่ส่งกลับมาจะมีสองค่าเท่านั้น คือ จริง(true) กับเท็จ(false) ซึ่งจะใช้คาว่า
boolean ที่ส่วนหัว เมธอดลักษณะนี้มักใช้ในการตรวจสอบเงื่อนไขต่างๆ โดยส่งข้อมูลที่
ต้องการตรวจสอบเป็นอาร์กิวเมนต์เข้าไป ตัวอย่างเช่น ถ้าหากต้องการตรวจสอบว่าตัวเลข
ที่กาลังสนใจอยู่ เป็นตัวเลขในช่วง 1 ถึง 100 หรือไม่จะเขียนเมธอดได้ดังนี้




เราสามารถนาเมธอด isValidนี้ไปประยุกต์ใช้รมกับคาสั่งเลือกทาในโปรแกรมได้
อย่างเช่น ถ้าต้องการเขียนโปรแกรมทดสอบข้อมูล value มีค่าอยู่ในช่วงที่กาหนดหรือไม่
จะเขียนสเตตเมนต์ได้ดังนี้
จากตัวอย่างโปรแกรมต่างๆที่ได้ศึกษามาจะเห้ฯได้ว่าการสร่างเมธอดขึ้นมานั้นจะรวมอยู่ใน
โปรแกรมที่มีคลาสหลักเพียงคลาสเดียว โดยเมธอดที่สร้างขึ้นจะอยู่หลังเมธอด main แต่การ
สร้างเมธอดนี้สามารถนาไปไว้หน้าเมธิดmain ได้ ดังตัวอย่างโปรแกรมที่ 4.8
          โปรแกรมที่ 4.8 เป็นโปรแกรมหาค่าฟังก์ชั่นของ f(x) = x2+5 โดยให้ x มีค่าตั้งแต่
0 ถึง 10 โดยเมธอดที่สร้างขึ้นมานี้จะเป็นเมธอดที่มีการรับค่าอาร์กิวเมนต์เข้ามาและมีการส่ง
ค่ากลับ
ผลลัพธ์การรันโปรแกรมจะเป็นดังนี้




               เมธอดที่มีการส่งค่ากลับคืนมานั้นสามารถมี return มากกว่าหนึ่งจุดได้
แต่เมื่อโปรแกรมทางานแล้วจะต้องส่งค่ากลับมาเพียงค่าเดียวเท่านั้น
โปรแกรมที่ 4.9 ตัวอย่างนี้จะเป็นตัวตรวจสอบว่าตัวเลขที่ป้อนเข้าไปเป็นจานวนเฉพาะ
หรือไม่ ซึ่งตัวเลขที่เป็นจานวนเฉพาะคือตัวเลขจานวนเต็มตั้งแต่ 2 ขึ้นไป ที่มีเฉพาะเลข 1
และตัวมันเองเท่านั้นที่หารลง ตัวอย่างโปรแกรมนี้จะสร้างเมธอดชื่อว่า isPrime ที่จะรับ
ค่าตัวเลขเข้าไป ถ้าหากตัวเลขนั้นเป็นจานวนเฉพาะจะคืนค่าที่เปนจริงออกมา โดยเมธอดนี้
จะมี return อยู่ 5 ตาแหน่ง
ถ้าหากรันโปรแกรมแล้วป้อนค่า 6317 และ 7163 เข้าไป ผลลัพธ์จะเป็นดังนี้
4.5 ตัวแปรแบบ Local
            ตัวแปรที่ประกาศใช้ในเมธอดเรียกว่าตัวแปรแบบท้องถิ่น หรือตัวแปร
แบโลคอล(local variable) โดยจะใช้ได้เฉพาะสเตตเมนต์ในเมธอดเท่านั้น สเตต
เมนต์ต่างๆที่อยู่นอกเมธอดที่ประกาศตัวแปรนี้จะไม่สามารถเรียกใช้ตัวแปรนี้ได้
การประการตัวแปรแบบโลคอลนี้ จะทาให้เมธอดหลายๆเมธอดใช้ชื่อตัวแปร
เดียวกันได้ ดังตัวอย่างโปรแกรมที่ 4.10 โดยโปรแกรมนี้จะให้เมธอด main()
เรียกใช้เมะอดที่สร้างขึ้นสองเมธอดคือ Phuket และrayongโดยทั้งสองเมธอดนี้จะมี
ตัวแปรโลคอลชื่อเดียวกันคือ birds
            โปรแกรมที่ 4.10LocalVars.java
ผลลัพธ์การรันโปรแกรมจะเป็นดังนี้




จากตัวอย่างโปรแกรมที่ 4.10 จะพบว่าแม้ตัวแปรในเมธอดที่สร้างขึ้นจะมีชื่อ
เดียวกัน โดยแต่ละเมธอดมีการกาหนดค่าให้กับตัวแปรเป็นค่าที่ไม่เท่ากัน ถ้า
สังเกตจากผลลัพธ์จะพบว่าตัวแปรทั้งสองไม่เกี่ยวข้องกัน การประกาศตัวแปร
แบบโลคอลนี้ เมื่อเมธอดถูกเรียกใช้มันจะสร้างหน่วยความจาขึ้นมาสาหรับเก็บตัว
แปรนั้น แต่เมื่อเมธอดทางานเสร็จสิ้นลงหน่วยความจาสาหรับตัวแปรนั้นจะถูก
ยกเลิกไป
สาหรับตัวอย่างโปรแกรมที่ 4.11 จะประกาศตัวแปร x เอาไว้ในเมธอด main
และประกาศตัวแปรชื่อ x อีกตัวหนึ่งไว้ในเมธอด one() ซึ่งก็จะไม่ใช่ตัวแปร x
ตัวเดียวกัน เมื่อในเมธอด main กาหนดค่าให้กับตัวแปร x และเมธอด one ถูก
เรียกใช้ ก็จะไม่ทาให้ตัวแปร x ในเมธอด main เปลี่ยยนแปลงไป
           โปรแกรมที่ 4.11Local2.java ตัวอย่างโปรแกรมแสดงการใช้ตัวแปร
แบบโลคอล




                           เมื่อรันโปรแกรมผลลัพธ์ที่ได้จะเป็นดังนี้
4.6 โอเวอร์โหลดเมธอด (Overloading Method)
           จากตัวอย่างการสร้างเมธอดที่ได้ศึกษาทั้งหมดจะพบว่าเมธอดต่างๆ จะรวมอยู่ใน
คลาสเดียวกันและเราสามารถสร้างเมธอดขึ้นเองได้หลายเมธอด ถ้าหากเมธอดที่สร้างขึ้นมี
หลายเมธอดและมีเมธอดที่มีชื่อซ้ากันแต่มีการส่งอาร์กิวเมนต์ต่างกัน และมีจานวนพารามิเตอร์
ในการรับข้อมูลไม่เท่ากัน จะเรียกเมะอดประเภทนี้ว่าโอเวอร์โหลดเมธอด (Overload Method)
เมื่อเมธอดถูกเรียกใช้ โปรแกรมจะพิจารณาว่าควรใช้เมธอดใด ดังโปรแกรมที่ 4.12
           โปรแกรมที่ 4.12เป็นโปรแกรมตัวอย่างโอเวอร์โหลดเมธอด โดยสร้างเมธอดหาค่า
ผลรวมของตัวเลขขึ้นมา
ผลลัพธ์การรันโปรแกรมจะเป็นดังนี้
โปรแกรมที่ 4.13 CalGrade.java จะเป็นการสร้างเมธอดสาหรับคานวณเกรดขึ้นมา โดยจะ
รับค่าคะแนนเป็นอาร์กิวเมนต์ส่งไปให้เมธอด
เมื่อมีการเรียกใช้เมธอดก็จะคืนค่าเกรดที่ได้กลับมา
โดยการคานวณเกรดนั้นจะใช้คาสั่ง
ตัดสินใจเป็นตัวคิดว่าคะแนนนั้นๆ
ควรได้เกรดใด โดยเมธอดที่สร้างขึ้น
จะคืนค่าเป็นตัวอักขระ




                            จากโปรแกรมจะเห็นว่าเมื่อเรียกใช้เมธอดคานวณ
                                          เกรดจะส่งค่าคะแนนเป็น 75 เข้าไป ผลลัพธ์ที่
                                                 ได้จะเป็นดังนี้
โปรแกรมที่ 4.14 BarChart.java ตัวอย่างนี้เป็นการสร้างเมธอดชนิดที่ไม่มีการคืน
ค่ากลับชื่อว่า Bar โดยเมธอดนี้จะรับค่าอาร์กิวเมนต์เป็นตัวเลขเข้าไป แล้วจะแสดง
เครื่องหมาย* ตามจานวนตัวเลขที่รับเข้าไป ในลักษณะกราฟแท่งในแนวนอน
เมื่อรันโปรแกรมและป้อนค่า 24 เข้าไป ผลลัพธ์ที่ได้จะเป็นดังนี้




สรุป
             ในการเขียนโปรแกรมโดยทั่วๆไปนั้น จะมีเมธอดที่ให้คอมพิวเตอร์ทางานอย่างใด
อย่างหนึ่ง ถ้าหากมีเมธอดหลายๆเมธอด เราสามารถรวมเมธอดนี้เป็นกลุ่มใหม่ได้ ในการสร้าง
เมธอดนี้ผู้เขียนโปรแกรมจะต้องพิจารณาว่าเมธอดที่สร้างขึ้นมีการส่งค่าอาร์กิวเมนต์เข้าไป
หรือไม่ และเมธอดนี้จะมีการส่งค่ากลับออกมาหรือไม่ ถ้ามีค่าที่ส่งกลับมาเป็นข้อมูลประเภทใด
ในโปรแกรมหนึ่งๆสามารถมีเมธอดชื่อเดียวกันได้ แต่มีการทางานที่ต่างกัน เมธอดลักษณะนี้
เรียกว่า โอเวอร์โหลดเมธอด
จัดทาโดย
1. น.ส. จารุภา                พรหมมงคล      เลขที่ 28
2. น.ส. จุฑามาศ               อัครเดชพงศา   เลขที่ 29
3. น.ส. หทัยชนก               ห้วยหงส์ทอง   เลขที่ 32
4. น.ส. ศิริวรรณ              พงศโอสธี      เลขที่ 33
5. น.ส. สิริกาญจน์            พานะกิจ       เลขที่ 34
6. นาย จิตรเทพ                สกุลธนาศร     เลขที่ 5
                   ชั้น ม. 6/2

More Related Content

What's hot

Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Thanachart Numnonda
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นThanachart Numnonda
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตThanachart Numnonda
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศน้อย วิภาภรณ์
 
เมธอด กลุ่ม3
เมธอด กลุ่ม3 เมธอด กลุ่ม3
เมธอด กลุ่ม3 Piyada Petchalee
 
การใช้โปรแกรม Spss
การใช้โปรแกรม Spssการใช้โปรแกรม Spss
การใช้โปรแกรม Spssthaweesak mahan
 
คู่มือSpss
คู่มือSpssคู่มือSpss
คู่มือSpsskuankaaw
 
สอนSpss
สอนSpssสอนSpss
สอนSpsskaew393
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมThanachart Numnonda
 
คู่มือการใช้งานSpss
คู่มือการใช้งานSpssคู่มือการใช้งานSpss
คู่มือการใช้งานSpssprapapan20
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionIMC Institute
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingWongyos Keardsri
 
การสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSS
การสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSSการสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSS
การสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSSเบญจวรรณ กลสามัญ
 

What's hot (18)

เมธอด
เมธอดเมธอด
เมธอด
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
 
Java 7&12 6 2
Java 7&12 6 2Java 7&12 6 2
Java 7&12 6 2
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
 
Spss sriprapai
Spss sriprapaiSpss sriprapai
Spss sriprapai
 
บทที่ 8 Methods
บทที่ 8 Methodsบทที่ 8 Methods
บทที่ 8 Methods
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุตJava Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุต
 
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 
เมธอด กลุ่ม3
เมธอด กลุ่ม3 เมธอด กลุ่ม3
เมธอด กลุ่ม3
 
การใช้โปรแกรม Spss
การใช้โปรแกรม Spssการใช้โปรแกรม Spss
การใช้โปรแกรม Spss
 
Know1 3
Know1 3Know1 3
Know1 3
 
คู่มือSpss
คู่มือSpssคู่มือSpss
คู่มือSpss
 
สอนSpss
สอนSpssสอนSpss
สอนSpss
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
 
คู่มือการใช้งานSpss
คู่มือการใช้งานSpssคู่มือการใช้งานSpss
คู่มือการใช้งานSpss
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java Programming
 
การสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSS
การสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSSการสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSS
การสร้างแฟ้มข้อมูลจากแบบสอบถามโดยโปรแกรม SPSS
 

Similar to Power point

พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
นำเสนอMethods
นำเสนอMethodsนำเสนอMethods
นำเสนอMethodsFP Spongpoyam
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Mook Prapasson
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงNaphamas
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1prapassonmook
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานKanchana Theugcharoon
 

Similar to Power point (20)

Chapter3
Chapter3Chapter3
Chapter3
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
เมธอด
เมธอดเมธอด
เมธอด
 
เมธอด
เมธอดเมธอด
เมธอด
 
นำเสนอMethods
นำเสนอMethodsนำเสนอMethods
นำเสนอMethods
 
Method
MethodMethod
Method
 
Ass1 1
Ass1 1Ass1 1
Ass1 1
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
 
Pbl2
Pbl2Pbl2
Pbl2
 
4
44
4
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 
c# part1.pptx
c# part1.pptxc# part1.pptx
c# part1.pptx
 
Lab Computer Programming 1
Lab Computer Programming 1Lab Computer Programming 1
Lab Computer Programming 1
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
5.Methods cs
5.Methods cs5.Methods cs
5.Methods cs
 
C lang
C langC lang
C lang
 

More from Pookie Pook

เมธอด ชั้น ม 6 ห้อง 2
เมธอด ชั้น ม  6 ห้อง 2เมธอด ชั้น ม  6 ห้อง 2
เมธอด ชั้น ม 6 ห้อง 2Pookie Pook
 
ข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีก
ข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีกข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีก
ข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีกPookie Pook
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2Pookie Pook
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2Pookie Pook
 
รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2
รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2
รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2Pookie Pook
 

More from Pookie Pook (6)

It news
It news It news
It news
 
เมธอด ชั้น ม 6 ห้อง 2
เมธอด ชั้น ม  6 ห้อง 2เมธอด ชั้น ม  6 ห้อง 2
เมธอด ชั้น ม 6 ห้อง 2
 
ข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีก
ข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีกข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีก
ข่าว It sms ครบรอบ 20 ปี วิจัยชี้ยังโตได้อีก
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
 
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
การเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม.6 ห้อง2
 
รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2
รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2
รายงานการเขียนคำสั่งควบคุมแบบวนซ้ำ กลุ่ม 4 ม. 6 ห้อง2
 

Power point

  • 2. Method เป็นระเบียบวิธีในการทางาน โดยการจัดกลุ่มข้อมูล สร้างเป็น Function ย่อยภายในโปรแกรมเพื่อง่ายต่อการบริหาร จัดการกลุ่มข้อมูล ซึ่งมีทั้ง Method ที่คุณสร้างขึ้นใช้งาน เอง และ Method ที่ Java นั้นมีอยู่แล้ว รอเพียงการถูกเรียกใช้
  • 3. โครงสร้างของเมธอด จากโครงสร้างจะเห็นว่าโปรแกรมหนึ่งอาจมีหลาย Class และในหนึ่ง Class จะ มีกี่ Method ก็ได้แต่ใน Class หลัก (Class ที่มี public นาหน้า) จะต้องมี main Method เสมอ
  • 4. รูปแบบ Method modifiers เป็นส่วนที่บอกว่าเมธอดนี้สามารถเรียกใช้ได้ในระดับใด จะ ประกอบด้วยpublic static Return_ Type ส่วนนี้จะบอกว่าเมื่อเมธอดนี้ถูกเรียกใช้และจะมีการสงค่ากลับมา หรือไม่ ถ้ามีจะส่งกลับเป็นข้อมูลประเภทใด ถ้าไม่มีส่งค่ากลับจะใช้คาว่า void MethodName เป็นชื่อของเมธอด parameter เป็นตัวแปรที่ใช้ส่งข้อมูลเข้าไปในเมธอด ถ้ามีหลายตัวแปรจะใช้ เครื่องหมาย (;)คั่นระหว่างตัวแปร reture เป็นส่วนที่ใช้ส่งค้ากลับให้กับชื่อเมธอด
  • 5. ประเภทของเมธอด (Type of Method) 1. Static Method - เมธอดของคลาส เรียกชื่อได้ทันที 2. Instance Method - เมธอดพฤติกรรมทั่วไปในคลาส 3. Constructor Method - เมธอดที่มีชื่อเดียวกับคลาส 4. Overloading Method - ชือเหมือนกัน แต่จานวนหรือชนิดตัวแปรต่างกัน ่ 5. Overriding Method - ชื่อเหมือนกันในคลาสแม่และลูก แต่ทางานตามคลาสลูก 1. Static Method มีคาว่า static นาหน้า เป็นเมธอดของคลาส สามารถเรียกใช้ตัวแปรได้ทันที โดยไม่ ต้องมีการสร้างอ็อบเจ็กต์ขึ้นมาขึ้นมาเพื่อเรียกใช้ การเรียกใช้: อยู่ในคลาสเดียวกัน: method(argument); อยู่ต่างคลาส: class.method(argument); ถ้าเป็นตัวแปร ก็เรียกชื่อ variable ได้เลย
  • 6. 2. Instance Method เมธอดทั่วไปที่บอกพฤติกรรมในคลาสหนึ่งๆ ต้องมีการสร้างอ็อบเจ็กต์ขึ้นมาก่อนจึง จะเรียกใช้ได้ และค่าของข้อมูลจะเปลี่ยนไปตามอ็อบเจ็กต์ที่สร้างขึ้น การเรียกใช้: object.method(argument); object.attribute 3. Constructor Method เมธอดที่มีชื่อเดียวกับคลาส เมื่ออ็อบเจ็กต์ใดๆถูกสร้างขึ้นมาแล้ว เมธอดนี้จะถูก เรียกขึ้นมาเป็นเมธอดแรกทันที (มักใช้ค่าที่เริ่มต้นการทางานของเครื่อง หรือเรามา กาหนดค่าเริ่มต้นเอาเอง) constructor ที่สร้างขึ้นมาอัตโนมัติจะไม่มีการรับ ค่าพารามิเตอร์ และต้องไม่มีคืนค่าเป็น void Class object = new Class();
  • 7. 4. Overloading Method เมธอดที่มีชื่อเหมือนกัน แต่รับอากิวเมนต์ชนิดต่างกันหรือจานวนอากิวเมนต์ไม่เท่ากัน (overload constructor) Overloading Method public int Print(int idbook){...} public String Print(int bookname){...} Overloading Constructor public Circle() {...} public Circle(int radius) {...} Output จะแสดง Student
  • 8. 5. Overriding Method เมธอดที่มีชื่อและชนิดตัวแปรเหมือนกัน แต่เขียนโปรแกรมในลักษณะที่เมธอดหนึ่งอยู่ในคลาสแม่ อีกเมดธอดหนึ่งอยู่ในคลาสลูก ซึ่งเมื่อรับค่ามาเหมือนกัน โปรแกรมจะทางานตามคาสั่งที่อยู่ในเมธอด ของคลาสลูกโดยอัตโนมัติ (Inheritance) class Person { public void print() {System.out.print("People");} } class Student extend Person { public void print() {System.out.print("Student");} }
  • 9. การเรียกใช้เมธอด โปรแกรมทุกโปรแกรมเมธอดทีชื่อว่า main()จะถูกเรียกใช้โยอัตโนมัติเมื่อเริ่มต้นทา โปรแกรมสาหรับเมธอดที่เป็นแบบ static นั้นถ้าหากต้องการใช้งานเมธอดก็สามารถเรียกชื่อ เมธอดขึ้นมาใช้งานได้ทันที ถ้าหากเมธอดที่เรียกใช้ต้องมีพารามิเตอร์เข้าไปด้วย การเรียกใช้ เมธอดจะต้องระบุค่าพารามิเตอร์ด้วย ตัวอย่างเช่น เป็นการเรียกใช้เมธอด displayMessage() ซึ่งไม่ต้องมีกรส่งพารามิเตอร์เข้าไป เมื่อ โปรแกรมทางานมาถึงบรรทัดนี้ โปรแกรมจะโดดไปทางานยังเมธอดที่สร้างขึ้นทันที SimpleMethod.java เป็นโปรแกรมทีเรียกใช้เมธอดอย่างง่าย ในเมธอดหนึ่งๆสามารถเรียกขึ้นมาใช้งานได้หลายครั้ง เช่น
  • 11. จากโปรแกรม เริ่มต้นจะทาเมธอด main ก่อน เมื่อมีการเรียกชื่อเมธอดที่สร้าง ขึ้นโปรแกรมจะกระโดดไปยังเมธอดทีสร้างขึ้น แล้วทาไปจนจบ จากนั้นเมธอดจะ กลับมาทางานที่เมธอดหลักต่อไป
  • 12. นอกจากนี้ในแต่ละเมธอดที่สร้างขึ้นสามารถเรียกเมธอดอีกเมธอดหนึ่งขึ้นมาใช้งาน ได้ เรียกว่า hierarchical ตัวอย่างเช่น เมธอด A เรียก เมธอด B ขึ้นมาใช้งาน โดยที่ภายใน เมธอด B นี้จะเรียกเมธอด C ขึ้นมาใช้งานด้วย การทางานของโปรแกรมนั้นเมื่อทาเมธอด C จบ JVM จะกลับมาทาเมธอดต่อ และเมื่อทาเมธอด B จบ JVK ก็จะกลับมาทาเมธอด A ต่อไป
  • 15. แนะนาคลาส Math และเมธอดทางคณิตศาสตร์ จากตัวอย่างเมธอดทีได้ศึกษามาเป็นเมธอดที่ไม่มีการคืนค่าออกมา ซึ่งจะใช้คาว่า void นาหน้า และเป็นเมธอดที่ไม่มีการส่งพารามิเตอร์เข้าไปในเมธอด โดยหลังชื่อ เมธอดจะเป็นวงเล็บเปิดและตามด้วยวงเล็บปิด เมธอดบางประเภทจะต้องมีการรับ พารามิเตอร์เข้าไป เมื่อเมธอดทางานจะมีการคืนค่าจากการทาเมธอดออกมาด้วย ตัวอย่างเช่น เมธอดสาหรับหาค่ารากที่สองของตัวเลขที่รับเข้าไป เราอาจมองเป็น บล็อกได้ ดังนี้
  • 16. จากรูปเป็นเมธอดชื่อ sqfrt โดยเมธอดนี้จะรับพารามิเตอร์ที่มีค่าเป็น 16 เข้าไป จากนั้นเมธอดจะคืนค่ารากที่สองซึ่งมีค่าเป็น 4 ออกมา จากรูปเป็นตัวอย่างเมธอดชื่อ area เมธอดนี้จะใช้คานวณหาพื้นที่ของสี่เหลี่ยม โดยรับพารามิเตอร์เข้าไปสองค่าคือ ขนาดความกว้างและขนาดความยาว จากนั้นเมธอดจะคืนค่าพื้นทีของสี่เหลียมออกมาในภาษาจาวามีคลาส Math ซึ่ง ่ เป็น API ของจาวาตัวหนึ่งที่ภายในได้บรรจุเมธอดสาหรับใช้งานทาง คณิตศาสตร์ไว้มากมาย การเรียกใช้งานเมธอดในคลาสนี้ทาได้โดยเรียกชื่อ คลาส ตามด้วยเครื่องหมายจุดแล้วตามด้วยเมธอด อย่างเช่น เมธอด Math.pow ใช้สาหรับหาค่ายกกาลัง เป็นต้น นอกจากนี้ภายในคลาสยัง บรรจุค่าคงที่ต่างๆ ไว้ด้วย การเรียกใช้เมธอดต่างๆ ผู้ใช้จะต้องทราบว่าเมธอด นั้นต้องส่งค่าใดเข้าไป และเมธอดจะคืนค่าใดออกมา การเรียกใช้เมธอดทาง คณิตสาสตร์จะทาได้โดยเรียกชื่อคลาส จากนั้นใส่จุดแล้วตามด้วยชื่อเมธอด พร้อมใส่อาร์กิวเมนต์เข้าไป เช่น
  • 17. ตัวอย่างของเมธอดต่างๆ มีดังนี้ เมธอด Math .pow เมธอดนี้จะมีอาร์กิวเมนต์แบบ double สองตัว โดยจะนาอาร์กิวเมนต์ตัว แรกไปยกกาลังด้วยอาร์กิวเมนต์ตัวที่สอง เช่น จะเป็นการหาค่าของ 4.0 ยกกาลัง 2.0 หรือถ้าหากต้องการหาค่า 3 เท่าของ 6 ยกกาลัง 3 หาได้ดังนี้
  • 18. จะเป็นการหาค่าของ 4.0 ยกกาลัง 2.0 หรือถ้าหากต้องการหาค่า 3 เท่าของ6 ยกกาลัง 3 หาได้ดังนี้ เมธอด Math.sqrt เมธอดนี้จะรับค่าอาร์กิวเมนต์แบบdoble เข้าไปหนึ่งตัว จากนั้นจะคืนค่ารากที่ สองของอาร์กิวเมนต์กลับออกมา เช่น จะได้คาตอบออกมาเป็น 3.0
  • 19. เมธอดMath.random เมธอดนี้ไมมีค่าอาร์กิวเมนต์ เมื่อเรียกใช้เมธอดนี้โปรแกรมจะสุ่มตัวเลขระหว่าง 0 ถึง 1 ออกมาสาหรับอาร์กิวเมนต์ที่ส่งเข้าไปในเมธอดอาจอยู่ในรูปของค่าคงที่ นิพจน์ หรือตัวแปรก็ได้ เมื่อเมธอดทางานยังสามารถนาไปเป็นอาร์กิวเมนต์ให้กับเมธอดอื่นๆ ได้อีกด้วย เช่น การใช้งานเมธอดผู้เขียนโปรแกรมจะต้องทราบด้วยว่าเมธอดนั้นๆต้องป้อน อาร์กิวเมนต์ที่เป็นข้อมูลประเภทใดเข้าไป ป้อนเข้าไปกี่ตัว และเมื่อเมธอด ทางานจะคืนค่าข้อมูลชนิดใดออกมา
  • 20. MathDemo.javaเป็นตัวอย่างการใช้เมธอดในคลาส Math เมื่อรันโปรแกรมผลลัพธ์ที่ได้ จะเป็นดังนี้ สาหรับการใช้เมธอดRandom หรับสุ่มคัวเลขนั้นโปรแกรมจะคืนค่าระหว่าง0.0 ถึง 1.0 ออกมาตัวอย่างเป็นการวนลูปสุ่มตัเลขขึ้นมาจานวน 10 ครั้ง โดยกาสุ่ม แต่ละครั้งจะได้ค่าต่างกัน
  • 21. TenRandomNumber.java . แสดงการสุ่มเลขจานวน 10 ครั้ง เมื่อรันโปรแกรมจะได้ ผลลัพธ์ดังนี้ จากผลลัพธ์การรันโปรแกรมจะพบว่าค่าตัวเลขที่ออกมาจะเป็นเลขทศนิยม แต่ ถ้าหากต้องการสุ่มเลขออกมาให้เป็นเลขจานวนเต็มก็ทาได้โดยการเขียน โปรแกรมเพิ่มเติม เช่น ถ้าหากต้องการเขียนโปรแกรมสุ่มการทอยลูกเต๋า ซึ่ง ต้องการค่าตัวเลขในช่วง 1 ถึง 6 สามารถทาได้ดังขั้นตอนต่อไปนี้
  • 22. ใช้เมธอด random สุ่มค่ามาเก็บในตัวแปร r ค่าของตัวแปร r จะได้อยู่ระหว่าง 0.0 ถึง 1.0 ดังนั้นจะต้องปรับค่าให้มีค่ามากขึ้น โดยนา 6.0 ไปคูณกับค่าที่สุ่มได้ แล้วปรับค่าให้อยู่ในช่วง 1.0 ถึง 7.0 ดังนี้ และในการเขียนโปรแกรมจะต้องให้อาร์กิวเมนต์พุตออกมาเป็นเลข จานวนเต็ม ดังนั้นเขียนคาสั่งได้ดังนี้
  • 23. การส่งค่าอาร์กิวเมนต์ของเมธอด เราสามารถสร้างเมท็อดที่มีการรับค่าจากผู้เรียกเพื่อกาหนดพฤติกรรมการ ทางานของเมท็อดนั้น ๆ ค่าที่ถูกส่งไปนี้เรียกว่า อาร์กิวเมนต์ (argument) ส่วนเมท็อดที่ถูก เรียกจะรับค่าเหล่านี้ผ่านมาทางพารามิเตอร์ (parameter) ซึ่งถูกนิยามไว้ใน ส่วน parameter_list ของการประกาศเมท็อด เมท็อดแต่ละอันสามารถถูกประกาศให้มี พารามิเตอร์ได้ตั้งแต่ศูนย์ตัวหรือมากกว่า โดยพารามิเตอร์แต่ละตัวจะต้องมีรูปแบบข้อมูล กากับไว้เสมอ และอาร์กิวเมนต์ที่ใช้ในขณะเรียกใช้งานเมท็อดจะต้องมีรูปแบบข้อมูลที่ ตรงกัน เช่น เมท็อด PrintCharLine ด้านล่างนี้ดัดแปลงมาจากเมท็อด PrintLine เมท็ อดใหม่นี้ กาหนดให้มีพารามิเตอร์สองตัว คือ c เป็นชนิด char และ len เป็น ชนิด int โดยที่พารามิเตอร์ c ใช้ สาหรับระบุอักขระที่จะพิมพ์ออกทางจอภาพ ) ไม่ได้พิมพ์เพียงแค่ดาวอีกต่อไป (และ len ใช้ระบุจานวนอักขระที่ต้องการ พิมพ์ในหนึ่งบรรทัด
  • 24. 1: using System; 2: class ParamNoRet { 3: static void PrintCharLine(char c, int len) { 4: for (int i = 0; i < len; i++) 5: Console.Write(c); 6: Console.WriteLine(); 7: } 8: 9: static void Main() { 10: PrintCharLine(’o’, 10); 11: PrintCharLine(’x’, 20); 12: } 13: }
  • 25. จากโปรแกรมข้างต้น การเรียกใช้เมท็อด PrintCharLine ครั้งแรกภายในเมท็ อด Main ใน บรรทัดที่ 10 มีอาร์กิวเมนต์เป็น 'o' และ 10 ซึ่งเมท็ อด PrintCharLine จะรับค่าอาร์กิวเมนต์นี้เข้ามาอยู่ในพารามิเตอร์ c และ len ตามลาดับ ดังนั้นจะเห็นว่าบรรทัดที่ 4 และ 5 จะมีผลทาให้โปรแกรม พิมพ์ อักขระ o ออกทางหน้าจอเป็นจานวน 10 ตัว ในทานองเดียวกัน การเรียกใช้เมท็ อด PrintCharLine ในบรรทัดที่ 11 จะมีผลทาให้โปรแกรมพิมพ์อักขระ x ออก ทางหน้าจอเป็นจานวน 20 ตัว
  • 26. 4.4 เมธอดที่มีการส่งค่ากลับ จากเมธอด showSumในตัวอย่างที่ผ่านมาแสดงผลการบวกจะเขียนไว้ในเมธอด โดยตรง ซึ่งเมธอดนั้นจะไม่มีการส่งค่ากลับ ถ้าหากดูในส่วนหัวของเมธอดจะเห็นว่า มีคาว่า void ประกอบอยู่ เราสามารถนาเมธอดนี้มาสร้างเป็นเมธอดที่มีการส่งค่ากลับ ได้ โดยใช้คาว่า return ในการส่งค่ากลับมาให้ชื่อเมธอด โดยประเภทของข้อมูลที่ ส่งกลับมาจะต้องประกาศไว้ในส่วนหัวของเมธอดด้วย ถ้าหากนาเมธอด showSum มาปรับปรุงจะได้ดังนี้
  • 27. การเรียกใช้เมธอดแบบมีการส่งค่ากลับจะคล้ายกับการเรียกเมธอดที่ไม่มีการส่งค่า แต่เมธอด ประเภทนี้จะมีค่าข้อมูลอยู่มนชื่อเมธอดด้วย ดังนั้นจะต้องสร้างตัวแปรขึ้นมาสาหรับรับข้อมูล ที่ถูกส่งกลับมาด้วย ตัวอย่างเช่น ประกาศตัวแปรชื่อ total ให้เป็นข้อมูลประเภท double ซึ่ง เป็นข้อมูลประเภทเดียวกับที่เมธอดส่งกลับ มารับข้อมูล เมื่อเขียนสเตตเมนต์แล้วเรียกใช้เมธ อดก็จะมีข้อมูลส่งกลับมา
  • 28. นอกจากนี้ ถ้าหากต้องการให้ส่งค่า 3 กับค่า 4 ให้กับเมธอด showSumแล้วต้องการให้ แสดงผลบวกออกมาจะเขียนได้ดังนี้ ในการเขียนเมธอดที่มีการส่งค่ากลับ ค่าที่ส่งกลับมาจะเขียนไว้หลังคาว่า return ซึ่งอาจเป็น ตัวแปรตัวเดียวหรือนิพจน์ที่มีการประมวลผลก็ได้ ตัวอย่าง จงสร้างเมธอดชื่อ Add โดยให้เมธอดนี้รับค่าอาร์กิวเมนต์ที่เป็นเลข จานวนเต็มสองค่าเข้าไป แล้วคืนผลบวกของอาร์กิวเมนต์ทั้งสองออกมา จากตัวอย่างนี้ค่าของข้อมูลที่ถูกส่งกลับมาจะเขียนเป็นนิพจน์ไว้หลังคาว่า return
  • 29. ตัวอย่าง จงเขียนเมธอดสาหรับแปลงหน่วยอุณหภูมิจากฟาเรนไฮนต์เป็นองศาเซลเซียส วิธีทา ความสัมพันธ์ระหว่างองศาฟาเรนไฮต์ กับองศาเซลเซียสคือ องศาเซลเซียส = (องศาเซลเซียส-32)/1.8 ดังนั้นสามารถเขียนเมธอดได้ดังนี้ เมธอดที่สร้างขึ้นนี้จะรับค่าอาร์กิวเมนต์ซึ่งเป็นองศาฟาเรนไฮต์และเป็นข้อมูลแบบ double เมื่อเมธอด ทางานจะคืนค่าเป็นองศาเซลเซียสซึ่งเป็นข้อมูลแบบ double ออกมา ตัวอย่าง จงเขียนเมะอดสาหรับแปลงหน่วยอุณหภูมิจากองศาเซลเซียสเป็นองศาฟาเรนไฮต์ วิธีทา สามารถเขียนเป็นเมธอดได้ดังนี้
  • 30. การส่งค่ากลับแบบบูลีน เมธอดอีกชนิดหนึ่งที่พบมากในการเขียนโปรแกรมคือ เมธอดที่มีการส่งค่ากลับ แบบบูลีน โดยค่าที่ส่งกลับมาจะมีสองค่าเท่านั้น คือ จริง(true) กับเท็จ(false) ซึ่งจะใช้คาว่า boolean ที่ส่วนหัว เมธอดลักษณะนี้มักใช้ในการตรวจสอบเงื่อนไขต่างๆ โดยส่งข้อมูลที่ ต้องการตรวจสอบเป็นอาร์กิวเมนต์เข้าไป ตัวอย่างเช่น ถ้าหากต้องการตรวจสอบว่าตัวเลข ที่กาลังสนใจอยู่ เป็นตัวเลขในช่วง 1 ถึง 100 หรือไม่จะเขียนเมธอดได้ดังนี้ เราสามารถนาเมธอด isValidนี้ไปประยุกต์ใช้รมกับคาสั่งเลือกทาในโปรแกรมได้ อย่างเช่น ถ้าต้องการเขียนโปรแกรมทดสอบข้อมูล value มีค่าอยู่ในช่วงที่กาหนดหรือไม่ จะเขียนสเตตเมนต์ได้ดังนี้
  • 31. จากตัวอย่างโปรแกรมต่างๆที่ได้ศึกษามาจะเห้ฯได้ว่าการสร่างเมธอดขึ้นมานั้นจะรวมอยู่ใน โปรแกรมที่มีคลาสหลักเพียงคลาสเดียว โดยเมธอดที่สร้างขึ้นจะอยู่หลังเมธอด main แต่การ สร้างเมธอดนี้สามารถนาไปไว้หน้าเมธิดmain ได้ ดังตัวอย่างโปรแกรมที่ 4.8 โปรแกรมที่ 4.8 เป็นโปรแกรมหาค่าฟังก์ชั่นของ f(x) = x2+5 โดยให้ x มีค่าตั้งแต่ 0 ถึง 10 โดยเมธอดที่สร้างขึ้นมานี้จะเป็นเมธอดที่มีการรับค่าอาร์กิวเมนต์เข้ามาและมีการส่ง ค่ากลับ
  • 32. ผลลัพธ์การรันโปรแกรมจะเป็นดังนี้ เมธอดที่มีการส่งค่ากลับคืนมานั้นสามารถมี return มากกว่าหนึ่งจุดได้ แต่เมื่อโปรแกรมทางานแล้วจะต้องส่งค่ากลับมาเพียงค่าเดียวเท่านั้น
  • 33. โปรแกรมที่ 4.9 ตัวอย่างนี้จะเป็นตัวตรวจสอบว่าตัวเลขที่ป้อนเข้าไปเป็นจานวนเฉพาะ หรือไม่ ซึ่งตัวเลขที่เป็นจานวนเฉพาะคือตัวเลขจานวนเต็มตั้งแต่ 2 ขึ้นไป ที่มีเฉพาะเลข 1 และตัวมันเองเท่านั้นที่หารลง ตัวอย่างโปรแกรมนี้จะสร้างเมธอดชื่อว่า isPrime ที่จะรับ ค่าตัวเลขเข้าไป ถ้าหากตัวเลขนั้นเป็นจานวนเฉพาะจะคืนค่าที่เปนจริงออกมา โดยเมธอดนี้ จะมี return อยู่ 5 ตาแหน่ง
  • 34. ถ้าหากรันโปรแกรมแล้วป้อนค่า 6317 และ 7163 เข้าไป ผลลัพธ์จะเป็นดังนี้
  • 35. 4.5 ตัวแปรแบบ Local ตัวแปรที่ประกาศใช้ในเมธอดเรียกว่าตัวแปรแบบท้องถิ่น หรือตัวแปร แบโลคอล(local variable) โดยจะใช้ได้เฉพาะสเตตเมนต์ในเมธอดเท่านั้น สเตต เมนต์ต่างๆที่อยู่นอกเมธอดที่ประกาศตัวแปรนี้จะไม่สามารถเรียกใช้ตัวแปรนี้ได้ การประการตัวแปรแบบโลคอลนี้ จะทาให้เมธอดหลายๆเมธอดใช้ชื่อตัวแปร เดียวกันได้ ดังตัวอย่างโปรแกรมที่ 4.10 โดยโปรแกรมนี้จะให้เมธอด main() เรียกใช้เมะอดที่สร้างขึ้นสองเมธอดคือ Phuket และrayongโดยทั้งสองเมธอดนี้จะมี ตัวแปรโลคอลชื่อเดียวกันคือ birds โปรแกรมที่ 4.10LocalVars.java
  • 36. ผลลัพธ์การรันโปรแกรมจะเป็นดังนี้ จากตัวอย่างโปรแกรมที่ 4.10 จะพบว่าแม้ตัวแปรในเมธอดที่สร้างขึ้นจะมีชื่อ เดียวกัน โดยแต่ละเมธอดมีการกาหนดค่าให้กับตัวแปรเป็นค่าที่ไม่เท่ากัน ถ้า สังเกตจากผลลัพธ์จะพบว่าตัวแปรทั้งสองไม่เกี่ยวข้องกัน การประกาศตัวแปร แบบโลคอลนี้ เมื่อเมธอดถูกเรียกใช้มันจะสร้างหน่วยความจาขึ้นมาสาหรับเก็บตัว แปรนั้น แต่เมื่อเมธอดทางานเสร็จสิ้นลงหน่วยความจาสาหรับตัวแปรนั้นจะถูก ยกเลิกไป
  • 37. สาหรับตัวอย่างโปรแกรมที่ 4.11 จะประกาศตัวแปร x เอาไว้ในเมธอด main และประกาศตัวแปรชื่อ x อีกตัวหนึ่งไว้ในเมธอด one() ซึ่งก็จะไม่ใช่ตัวแปร x ตัวเดียวกัน เมื่อในเมธอด main กาหนดค่าให้กับตัวแปร x และเมธอด one ถูก เรียกใช้ ก็จะไม่ทาให้ตัวแปร x ในเมธอด main เปลี่ยยนแปลงไป โปรแกรมที่ 4.11Local2.java ตัวอย่างโปรแกรมแสดงการใช้ตัวแปร แบบโลคอล เมื่อรันโปรแกรมผลลัพธ์ที่ได้จะเป็นดังนี้
  • 38. 4.6 โอเวอร์โหลดเมธอด (Overloading Method) จากตัวอย่างการสร้างเมธอดที่ได้ศึกษาทั้งหมดจะพบว่าเมธอดต่างๆ จะรวมอยู่ใน คลาสเดียวกันและเราสามารถสร้างเมธอดขึ้นเองได้หลายเมธอด ถ้าหากเมธอดที่สร้างขึ้นมี หลายเมธอดและมีเมธอดที่มีชื่อซ้ากันแต่มีการส่งอาร์กิวเมนต์ต่างกัน และมีจานวนพารามิเตอร์ ในการรับข้อมูลไม่เท่ากัน จะเรียกเมะอดประเภทนี้ว่าโอเวอร์โหลดเมธอด (Overload Method) เมื่อเมธอดถูกเรียกใช้ โปรแกรมจะพิจารณาว่าควรใช้เมธอดใด ดังโปรแกรมที่ 4.12 โปรแกรมที่ 4.12เป็นโปรแกรมตัวอย่างโอเวอร์โหลดเมธอด โดยสร้างเมธอดหาค่า ผลรวมของตัวเลขขึ้นมา
  • 40. โปรแกรมที่ 4.13 CalGrade.java จะเป็นการสร้างเมธอดสาหรับคานวณเกรดขึ้นมา โดยจะ รับค่าคะแนนเป็นอาร์กิวเมนต์ส่งไปให้เมธอด เมื่อมีการเรียกใช้เมธอดก็จะคืนค่าเกรดที่ได้กลับมา โดยการคานวณเกรดนั้นจะใช้คาสั่ง ตัดสินใจเป็นตัวคิดว่าคะแนนนั้นๆ ควรได้เกรดใด โดยเมธอดที่สร้างขึ้น จะคืนค่าเป็นตัวอักขระ จากโปรแกรมจะเห็นว่าเมื่อเรียกใช้เมธอดคานวณ เกรดจะส่งค่าคะแนนเป็น 75 เข้าไป ผลลัพธ์ที่ ได้จะเป็นดังนี้
  • 41. โปรแกรมที่ 4.14 BarChart.java ตัวอย่างนี้เป็นการสร้างเมธอดชนิดที่ไม่มีการคืน ค่ากลับชื่อว่า Bar โดยเมธอดนี้จะรับค่าอาร์กิวเมนต์เป็นตัวเลขเข้าไป แล้วจะแสดง เครื่องหมาย* ตามจานวนตัวเลขที่รับเข้าไป ในลักษณะกราฟแท่งในแนวนอน
  • 42. เมื่อรันโปรแกรมและป้อนค่า 24 เข้าไป ผลลัพธ์ที่ได้จะเป็นดังนี้ สรุป ในการเขียนโปรแกรมโดยทั่วๆไปนั้น จะมีเมธอดที่ให้คอมพิวเตอร์ทางานอย่างใด อย่างหนึ่ง ถ้าหากมีเมธอดหลายๆเมธอด เราสามารถรวมเมธอดนี้เป็นกลุ่มใหม่ได้ ในการสร้าง เมธอดนี้ผู้เขียนโปรแกรมจะต้องพิจารณาว่าเมธอดที่สร้างขึ้นมีการส่งค่าอาร์กิวเมนต์เข้าไป หรือไม่ และเมธอดนี้จะมีการส่งค่ากลับออกมาหรือไม่ ถ้ามีค่าที่ส่งกลับมาเป็นข้อมูลประเภทใด ในโปรแกรมหนึ่งๆสามารถมีเมธอดชื่อเดียวกันได้ แต่มีการทางานที่ต่างกัน เมธอดลักษณะนี้ เรียกว่า โอเวอร์โหลดเมธอด
  • 43. จัดทาโดย 1. น.ส. จารุภา พรหมมงคล เลขที่ 28 2. น.ส. จุฑามาศ อัครเดชพงศา เลขที่ 29 3. น.ส. หทัยชนก ห้วยหงส์ทอง เลขที่ 32 4. น.ส. ศิริวรรณ พงศโอสธี เลขที่ 33 5. น.ส. สิริกาญจน์ พานะกิจ เลขที่ 34 6. นาย จิตรเทพ สกุลธนาศร เลขที่ 5 ชั้น ม. 6/2