SlideShare a Scribd company logo
บทที่ 8
เมธอด (Methods)
1.ความหมายของเมธอด
โปรแกรมในภาษาจาวานั้นประกอบด้วย object จาก
หลายๆคลาส ซึ่งมีปฏิสัมพันธ์ซึ่งกันและกัน object แต่ละอันจะ
ประกอบไปด้วยส่วนของ attribute และเมธอด (method) ซึ่งเมธ
อดก็คือกลุ่มของคาสั่งที่ถูกรวมเข้าไว้ภายใต้ชื่อหนึ่งๆ สาหรับทา
หน้าที่ตามที่ผู้เขียนโปรแกรมกาหนด
2. การประกาศเมธอด
การประกาศเมธอดแต่ละครั้ง จะต้องประกาศไว้ในคลาสใดคลาสหนึ่งเสมอ
รูปแบบของการประกาศ เมธอดจะมีลักษณะโดยทั่วไปดังต่อไปนี้
โดยที่ modifier คือ คีย์เวิร์ดที่กาหนดคุณสมบัติการเข้าถึงเมธอด
return_type คือ ชนิดของข้อมูลที่เมธอดจะส่งค่ากลับ ถ้าในกรณีที่ไม่มีการส่งค่าใดๆ
กลับจะกาหนดให้เป็น void
MethodName คือ ชื่อเมธอด
parameter คือ พารามิเตอร์ที่ใช้ในการรับข้อมูล
method_body คือ ชุดคาสั่งการทางานของเมธอด
varValue คือ ค่าที่ต้องการส่งค่ากลับ ในกรณีที่กาหนดให้ return_type เป็น
void จะไม่มีคาสั่ง return
3. อาร์กิวเมนต์ (Argument) และพารามิเตอร์ (Parameter)
ในการเรียกใช้เมธอดนั้น เราสามารถส่งผ่านข้อมูลให้กับเมธอด
เพื่อให้เมธอดนั้นสามารถนาข้อมูลไปใช้ประมวลผลได้ ค่าของข้อมูลที่ส่ง
ให้กับเมธอด เรียกว่า อาร์กิวเมนต์ (argument) เช่น ในการเรียกใช้คาสั่ง
System.out.println("Hello");
“Hello” เป็น argument ที่ส่งให้กับเมธอด println() ซึ่งเมื่อมีการส่ง
ค่า argument ให้กับเมธอดแล้ว ที่ตัวของเมธอดจะต้องมีการสร้างตัวแปร
เพื่อใช้รับค่า argument นั้น ตัวแปรที่ถูกสร้างขึ้นมานี้มีชื่อเรียกว่า
พารามิเตอร์ (parameter)
จากตัวอย่างที่ 1 newDay, newMonth และ newYear คือ parameter ของเมธอด
setDate ในการเรียกใช้งานเมธอดนั้น จานวน argument ที่จะส่งให้กับเมธอด
จะต้องมีจานวนตรงกับจานวน parameter ที่จะมารับเสมอ
จากตัวอย่างที่ 2 ค่า 18, 10 และ 2556 คือ argument ที่ส่งให้กับเมธอด
setDate โดยค่าเหล่านี้จะถูกส่งไปเก็บไว้ที่ parameter ที่ชื่อว่า newDay,
newMonth และ newYear ตามลาดับ
4. การเรียกใช้งานเมธอด
การเรียกใช้งานเมธอดจะมีส่วนหลักๆ อยู่ 2 ส่วน คือ การส่งค่า
arguments ให้กับเมธอด และการรับค่าที่ส่งคืนมาจากเมธอด
4.1 การส่งค่า argument ให้กับเมธอด
ในการจะส่งค่า argument ให้กับเมธอด เราจะต้องประกาศ
parameter สาหรับเมธอดนั้นๆ โดยจะต้องระบุชนิดข้อมูล ตามด้วยชื่อของ
parameter ถ้าหากต้องการให้มี parameter มากกว่าหนึ่งตัว สามารถทา
ได้โดยใช้เครื่องหมาย , (comma) คั่นในตอนที่เราสร้างเมธอด ดูได้จาก
ตัวอย่างที่ 1
การเรียกใช้เมธอด หากเมธอดนั้นมีการรับค่าด้วย parameter เราต้องทาการส่ง
argument ให้กับเมธอดนั้น โดยที่จานวน argument นั้นต้องเท่ากับจานวน parameter ที่เรา
ประกาศไว้ โดยคั่นระหว่าง argument แต่ละตัวด้วยเครื่องหมาย comma และชนิดข้อมูล
ของ argument นั้นต้องตรงกับชนิดข้อมูลของ parameter ด้วย ดูได้จากตัวอย่างที่ 2
ค่าของ argument ที่จะส่งนั้น อาจจะเป็นค่าคงที่(constant) เช่น 10 (int
constant), -1.2 (double constant), ‘a’ (char constant), true (boolean constant) หรือ
ตัวแปร (variable) เช่น x, myDog, std1.name หรือนิพจน์ (expression) เช่น x*x / 2 -
1.732, date.getDay() ก็ได้ แต่ชนิดข้อมูลนั้นจะต้องสอดคล้องกับชนิดข้อมูลของ
parameter
การส่งค่าให้กับเมธอดในภาษาจาวานั้น เป็นการส่งค่าแบบ pass by value
หมายความว่า เมื่อมีการเรียกใช้งานเมธอด โปรแกรมจะทาการสร้างตัวแปรขึ้นมาใหม่ในเมธ
อดที่ถูกเรียก เพื่อมารับค่าที่จะถูกส่งเข้ามา การแก้ไขค่าของ parameter ในเมธอดจึงไม่
ส่งผลกระทบกับตัวแปรต้นฉบับหากตัวแปรนั้นเป็นข้อมูลชนิดพื้นฐาน (primitive type)
จากตัวอย่างที่ 3 สาเหตุที่ x ยังคงมีค่าเท่ากับ 10 ภายหลังจากการเรียกใช้งานเมธอด add5
เนื่องจากว่าตัวแปร x ที่อยู่ใน main กับตัวแปร x ที่อยู่ในเมธอด add5 เป็นคนละตัวกัน ดังนั้น คาสั่ง
x = x + 5 จึงส่งผลกับแปร x ที่อยู่ในเมธอด add5 เท่านั้น และเมื่อเรากลับมาที่ main ค่าของ x ใน
main จึงมีค่าเท่าเดิม
อย่างไรก็ตาม หาก object ที่ส่งให้กับเมธอดมีชนิดข้อมูลเป็นแบบอ้างอิง (reference
type) การเปลี่ยนค่า attribute ของ object นั้นๆในเมธอด จะส่งผลกระทบกับ object ต้นฉบับด้วย
ดังตัวอย่างต่อไปนี้
จากตัวอย่างที่ 4 สาเหตุที่ num มีค่าเปลี่ยนไปหลังจากเรียกใช้งานเมธอดก็เพราะว่าตัวแปรชนิด
object ทุกๆตัวนั้นเป็นประเภท reference type เสมอ ซึ่งสิ่งที่เก็บอยู่ในตัวแปร reference type คือ
ตาแหน่งที่อยู่(adddress)ในหน่วยความจาที่ object นั้นๆ ถูกเก็บอยู่ในตอนที่มันถูกสร้างขึ้นมาด้วย
คาสั่ง new ดังนั้นในตอนที่เราเรียกใช้เมธอด add10(obj) นั้น ค่าที่ถูกส่งให้กับเมธอดคือตาแหน่งที่
อยู่ของตัว object เมื่อเราทาการเปลี่ยนค่าของ object ในตัวเมธอด ค่านั้นจะถูกเปลี่ยนที่ตัว object
ตามตาแหน่งที่อยู่ที่มันถูกเก็บไว้ ตัว object ต้นฉบับจึงถูกเปลี่ยนค่าไปด้วย
4.2 การรับค่าคืนจากเมธอด
หากเมธอดมีการส่งค่าคืน (มี return type ที่ไม่ใช่ void) เราจะต้องสั่งให้เมธอดทาการส่ง
ค่ากลับ ซึ่งทาได้โดยใช้คาสั่ง return value; โดยวางคาสั่งนี้ไว้ที่ตัวเมธอด ทั้งนี้value คือค่าที่เรา
ต้องการส่งกลับ ดังตัวอย่างต่อไปนี้
จากตัวอย่างที่ 5 ค่าที่ส่งกลับมาจากเมธอดนั้น เราสามารถที่จะนาไปเก็บไว้ในตัวแปรก่อน (โดยที่
ชนิดข้อมูลจะต้องตรงกับชนิดข้อมูลที่เมธอด return มาให้) หรือว่าเราสามารถที่จะนาไปใช้เลย
โดยตรงก็ได้ ดังเช่นบรรทัดที่ 7 และ 9 ตามลาดับ
5. ประเภทของเมธอด
เมธอดในภาษาจาวา สามารถแบ่งออกได้เป็น 3 ประเภทหลักๆตามหน้าที่การใช้งาน
ดังนี้
1) Instance method
2) Static method
3) Constructor method
5.1 Instance Method
Instance method คือเมธอดที่กระทากับตัว object โดยตรง ดังเช่นใน
ตัวอย่างที่ 1 setDate ถือเป็น instance method เพราะว่า setDate จะกระทากับ
object ที่เรียกใช้มันเท่านั้น จากตัวอย่างที่ 2 จะเห็นได้ว่า การจะเรียกใช้งานเมธอด
setDate นั้น เราจะต้องทาการสร้าง object (ในที่นี้คือ date) ขึ้นมาก่อน แล้วเรียกใช้
ผ่าน object นั้น (บรรทัดที่ 3 และ 4)
เราสามารถใช้คีย์เวิร์ด this เพื่อเรียกถึง object ที่ทาการเรียกใช้เมธอดนั้นๆได้
ตัวอย่างเช่น
เราสามารถใช้คีย์เวิร์ด this เพื่อเรียกถึง object ที่ทาการเรียกใช้เมธอดนั้นๆได้ ตัวอย่างเช่น
จากตัวอย่างที่ 6 ในเมธอด setDate มี parameter 3 ตัว ได้แก่ day, month และ year ซึ่งจะเห็นว่า
หากเราเขียนว่า day = day; อาจจะทาให้โปรแกรมทางานผิดพลาดได้ เพราะว่า day ทั้งสองตัวนั้น
อ้างถึงตัวแปรเดียวกันที่เป็น parameter ของเมธอด การที่เราจะอ้างอิงถึง day ที่เป็น instance
variable นั้น ทาได้โดยใช้ this.day แทน ซึ่ง this จะมีค่าเท่ากับตัว object ที่เรียกใช้ อย่างไรก็ตาม
ไม่แนะนาให้ตั้งชื่อ parameter ให้เหมือนกับชื่อ instance variable เพราะอาจจะทาให้สับสนได้
ดังนั้น ควรจะตั้งชื่อ parameter ให้ต่างจากชื่อ attribute ดังเช่นตัวอย่างที่ 1
5.2 Static Method
Static method (หรือเรียกอีกชื่อหนึ่งว่า class method) คือเมธอดที่มีพฤติกรรมที่ไม่
ขึ้นอยู่กับ object ใดๆ ตัวอย่างเช่น เมธอด abs สาหรับหาค่าสัมบูรณ์นั้น ควรจะมีพฤติกรรมที่ไม่
ขึ้นอยู่กับ object ที่จะทาการเรียกใช้ แต่ขึ้นอยู่กับ argument ของเมธอดเท่านั้น นอกจากนี้ผู้ใช้ควร
จะสามารถเรียกใช้เมธอด abs ได้โดยไม่ต้องทาการสร้าง object ขึ้นมาใหม่ วิธีการทาเช่นนี้ในภาษา
จาวาทาได้โดยใส่คีย์เวิร์ด static ไว้หน้าชื่อของเมธอด (แต่อยู่หลังจาก access modifier) ดัง
ตัวอย่างต่อไปนี้
การเรียกใช้งาน static method นั้น เราสามารถเรียกใช้งานผ่านชื่อคลาสได้โดยตรงโดยไม่ต้องมีการ
สร้าง object ขึ้นมาก่อน ดังตัวอย่างที่ 8
ข้อควรระวังสาหรับการใช้งาน static method ก็คือ เราไม่สามารถเรียกใช้งาน instance variable
หรือ instance method จากภายใน static method ได้ แต่ยังเราสามารถเรียกใช้งาน static
variable หรือ static method อื่นๆได้อยู่
5.3 Constructor Method
Constructor method เป็นเมธอดที่มีลักษณะพิเศษ คือมีชื่อเหมือนกับชื่อ
คลาสและไม่มีการกาหนดชนิดของข้อมูลที่ถูกส่งกลับ(return type) โดย constructor
จะถูกเรียกใช้เมื่อมีการใช้คาสั่ง new ดังเช่นบรรทัดที่ 3 ของตัวอย่างที่ 2 ทั้งนี้หน้าที่
ของ constructor คือกาหนดค่าเริ่มต้นให้กับ attribute ของ object ที่ถูกสร้างขึ้นมา
การประกาศ constructor สามารถทาได้เหมือนกับเมธอดอื่นๆ ตัวอย่างเช่น
ตัวอย่างที่ 9 คลาส Date ประกอบด้วย constructor สองตัว คือบรรทัดที่ 4 – 8 ซึ่งเป็น constructor
ที่ไม่มีการรับค่า parameter และบรรทัดที่ 10 – 14 ซึ่งมีการรับค่า parameter เป็น int 3 ตัว (การที่
เรามีเมธอดที่มีชื่อเหมือนกันมากกว่าหนึ่งเมธอด จะเรียกว่า method overloading ซึ่งรายละเอียด
จะกล่าวในหัวข้อที่ 6)
หากเราสร้างคลาสโดยไม่สร้าง constructor ขึ้นมาเอง (ดังเช่นตัวอย่างที่ 1) จาวาจะทาการสร้าง
default constructor ที่ไม่มีการรับค่า parameter แล้วกาหนดค่า instance variable ให้เป็นค่าตาม
default value ให้โดยอัตโนมัติ
อย่างไรก็ตาม หากเราสร้าง constructor ขึ้นมาเองอย่างน้อยหนึ่งตัว จาวาจะไม่สร้าง default
construct ให้กับเรา และถ้าเราต้องการใช้ constructor ที่ไม่รับค่า argument เราจะต้องสร้างขึ้นมา
เอง ตัวอย่างเช่น
6. Method Overloading
Method overloading คือการที่เมธอดมากกว่าหนึ่งตัวที่อยู่ภายในคลาส
เดียวกันมีชื่อเหมือนกัน (เช่น จากตัวอย่างที่ 9 มี constructor ที่ชื่อว่า Date
เหมือนกันสองตัว)
Method overloading สามารถทาได้ถ้าหากว่ามีอย่างน้อยหนึ่งข้อต่อไปนี้
เป็นจริง
(1) จานวน parameter ของเมธอดที่จะ overload นั้นไม่เท่ากัน
(2) ชนิดข้อมูลของ parameter นั้นต่างกันอย่างน้อยหนึ่งตัว
จากตัวอย่างที่ 11 จะสังเกตเห็นว่า คลาส Date ในที่นี้มีเมธอด add ทั้งหมด 3 เมธอด
ซึ่งเมธอดทั้งหมดผ่านเงื่อนไขในข้อ (1) หรือ (2)
ข้อควรระวัง: เราไม่สามารถ overload เมธอดโดยใช้ return type ได้ ตัวอย่างเช่น
ซึ่งจะให้ผลลัพธ์ error
7. ตัวอย่างเมธอดสาเร็จรูปในภาษาจาวา
ภาษาจาวานั้น ได้สร้างเมธอดสาเร็จรูปบางส่วนมาให้แล้ว โดยที่เราสามารถ
เรียกใช้งานได้เลย ตัวอย่างเช่น เมธอดที่เกี่ยวกับการประมวลผลเกี่ยวกับตัวเลข จะอยู่
ในคลาส Math หรือ เมธอดที่เกี่ยวกับการจัดการกับ string จะอยู่ในคลาส String
ตัวอย่างของเมธอดสาเร็จรูปที่น่าสนใจมีดังนี้
เมธอดเหล่านี้เป็น static method เราจึงสามารถเรียกใช้งานเมธอดเหล่านี้ได้โดยคาสั่ง
Math.method_name(parameters)
เมธอดเหล่านี้เป็น instance method เวลาจะเรียกใช้ เราต้องเรียกใช้ผ่าน object ตัวอย่างเช่น
"abc".length();
หรือ
String s = "This is a sample string";
boolean flag = s.contains("sample");
หมายเหตุ: เมธอด concat, toLowerCase, toUppercase จะไม่ทาการเปลี่ยนค่าของตัว string ที่
เรียกใช้โดยตรง แต่จะ return ค่าของ string อันใหม่ที่เป็นผลลัพธ์ของเมธอดแทน ดังนั้น หากเรา
ต้องการเปลี่ยนค่าของตัวแปรต้นฉบับโดยเมธอด concat, toLowerCase, toUppercase, etc. เรา
จะต้องมีการกาหนดค่าให้กับมันเอง เช่น
s = s.concat("abc");
s = s.toLowerCase();
s = s.toUpperCase();
จัดทำโดย
นำงสำวกำญจนำ ถึกจรูญ เลขที่21
นำงสำวขวัญจิรำ โพธิ์ล้อม เลขที่28
นำงสำวจิดำภำ บำรุงวงศ์ เลขที่ 29
นำงสำวณัฐฐำ ศรีอินทร์ เลขที่ 30
นำงสำวพิมพ์ลภัส กลมทุกสิ่ง เลขที่ 31
นำงสำวสิริลักษณ์ วุฒิมงคลกุล เลขที่32
นำงสำวเกสรำ วัจนะ เลขที่ 38
ชั้น มัธยมศึกษำปีที่ 6/2
เสนอ
คุณครู ทรงศักดิ์ โพธิ์เอี่ยม

More Related Content

What's hot

บทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมบทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมNookky Anapat
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
Iam Champooh
 
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
Wongyos Keardsri
 
6.Flow control
6.Flow control6.Flow control
6.Flow control
UsableLabs
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File Operations
Wongyos Keardsri
 
5.Methods cs
5.Methods cs5.Methods cs
5.Methods cs
UsableLabs
 
Java-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysJava-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional Arrays
Wongyos Keardsri
 
4.Oop
4.Oop4.Oop
4.Oop
UsableLabs
 
3.Expression
3.Expression3.Expression
3.Expression
UsableLabs
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
IMC Institute
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
safdswqe
 
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระLacus Methini
 
Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร
ณัฐพล บัวพันธ์
 
Method
MethodMethod
8.Inheritance
8.Inheritance8.Inheritance
8.Inheritance
UsableLabs
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1prapassonmook
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
Thanachart Numnonda
 

What's hot (19)

บทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรมบทที่ 6 คลาสและการเขียนโปรแกรม
บทที่ 6 คลาสและการเขียนโปรแกรม
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น2
 
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
 
6.Flow control
6.Flow control6.Flow control
6.Flow control
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File Operations
 
5.Methods cs
5.Methods cs5.Methods cs
5.Methods cs
 
Java-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysJava-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional Arrays
 
4.Oop
4.Oop4.Oop
4.Oop
 
3.Expression
3.Expression3.Expression
3.Expression
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
 
Class1
Class1Class1
Class1
 
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระตัวแปรชุดและตัวแปรกลุ่มอิสระ
ตัวแปรชุดและตัวแปรกลุ่มอิสระ
 
Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร Vb6 5 ข้อมูลและตัวแปร
Vb6 5 ข้อมูลและตัวแปร
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Method
MethodMethod
Method
 
8.Inheritance
8.Inheritance8.Inheritance
8.Inheritance
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
 

Similar to บทที่ 8 Methods

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Parn Nichakorn
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
Mittapan Chantanyakan
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
ictyangtalad
 
งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5
Boss'Thanasit Tassana
 
Computer Programming 4
Computer Programming 4Computer Programming 4
Computer Programming 4
Saranyu Srisrontong
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
Naphamas
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Mook Prapasson
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
kitkit1974
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
Ploy StopDark
 
งานคอม#2
งานคอม#2งานคอม#2
งานคอม#2
Worapod Khomkham
 
เมธอด กลุ่ม3
เมธอด กลุ่ม3 เมธอด กลุ่ม3
เมธอด กลุ่ม3
Piyada Petchalee
 
ชนิดของข้อมูลและตัวแปร
ชนิดของข้อมูลและตัวแปรชนิดของข้อมูลและตัวแปร
ชนิดของข้อมูลและตัวแปร
ณัฐพล บัวพันธ์
 
คลาสและโปรแกรม
คลาสและโปรแกรมคลาสและโปรแกรม
คลาสและโปรแกรม
N'Name Phuthiphong
 

Similar to บทที่ 8 Methods (20)

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
Chapter1 uml3
Chapter1 uml3Chapter1 uml3
Chapter1 uml3
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5งานกลุ่มคอมกลุ่ม5
งานกลุ่มคอมกลุ่ม5
 
Computer Programming 4
Computer Programming 4Computer Programming 4
Computer Programming 4
 
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริงบทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
 
Chapter3
Chapter3Chapter3
Chapter3
 
66
6666
66
 
Power point
Power pointPower point
Power point
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
4
44
4
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
Presentation 5
Presentation 5Presentation 5
Presentation 5
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
งานคอม#2
งานคอม#2งานคอม#2
งานคอม#2
 
เมธอด กลุ่ม3
เมธอด กลุ่ม3 เมธอด กลุ่ม3
เมธอด กลุ่ม3
 
ชนิดของข้อมูลและตัวแปร
ชนิดของข้อมูลและตัวแปรชนิดของข้อมูลและตัวแปร
ชนิดของข้อมูลและตัวแปร
 
คลาสและโปรแกรม
คลาสและโปรแกรมคลาสและโปรแกรม
คลาสและโปรแกรม
 

More from Kanchana Theugcharoon

Melioidosis infection diseases
Melioidosis infection diseasesMelioidosis infection diseases
Melioidosis infection diseases
Kanchana Theugcharoon
 
It news
It newsIt news
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
Kanchana Theugcharoon
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
Kanchana Theugcharoon
 
IT NEWS Lenovo smart cast
IT NEWS Lenovo smart castIT NEWS Lenovo smart cast
IT NEWS Lenovo smart cast
Kanchana Theugcharoon
 
present
presentpresent
Present1
Present1Present1
สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี ในปีการศึกษา 2557
สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี  ในปีการศึกษา 2557สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี  ในปีการศึกษา 2557
สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี ในปีการศึกษา 2557
Kanchana Theugcharoon
 
บทที่2
บทที่2บทที่2
บทที่2
Kanchana Theugcharoon
 
Cars
CarsCars
รถล้นโลก
รถล้นโลก รถล้นโลก
รถล้นโลก
Kanchana Theugcharoon
 
โครงงาน รถล้นโลก
โครงงาน รถล้นโลกโครงงาน รถล้นโลก
โครงงาน รถล้นโลก
Kanchana Theugcharoon
 

More from Kanchana Theugcharoon (19)

Melioidosis infection diseases
Melioidosis infection diseasesMelioidosis infection diseases
Melioidosis infection diseases
 
It news
It newsIt news
It news
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐานกลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
กลุ่มที่ 6 โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
It news1
It news1It news1
It news1
 
It news
It newsIt news
It news
 
IT NEWS Lenovo smart cast
IT NEWS Lenovo smart castIT NEWS Lenovo smart cast
IT NEWS Lenovo smart cast
 
present
presentpresent
present
 
Present1
Present1Present1
Present1
 
สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี ในปีการศึกษา 2557
สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี  ในปีการศึกษา 2557สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี  ในปีการศึกษา 2557
สำรวจการใช้รถยนต์ของนักเรียนโรงเรียนเฉลิมพระเกียรติฯกาญจนบุรี ในปีการศึกษา 2557
 
บทที่2
บทที่2บทที่2
บทที่2
 
Cars
CarsCars
Cars
 
รถล้นโลก
รถล้นโลก รถล้นโลก
รถล้นโลก
 
โครงงาน รถล้นโลก
โครงงาน รถล้นโลกโครงงาน รถล้นโลก
โครงงาน รถล้นโลก
 
IT NEWS
IT NEWSIT NEWS
IT NEWS
 
It news
It newsIt news
It news
 
It news
It newsIt news
It news
 
It news
It news It news
It news
 
It news
It newsIt news
It news
 

บทที่ 8 Methods

  • 2. 1.ความหมายของเมธอด โปรแกรมในภาษาจาวานั้นประกอบด้วย object จาก หลายๆคลาส ซึ่งมีปฏิสัมพันธ์ซึ่งกันและกัน object แต่ละอันจะ ประกอบไปด้วยส่วนของ attribute และเมธอด (method) ซึ่งเมธ อดก็คือกลุ่มของคาสั่งที่ถูกรวมเข้าไว้ภายใต้ชื่อหนึ่งๆ สาหรับทา หน้าที่ตามที่ผู้เขียนโปรแกรมกาหนด
  • 4. โดยที่ modifier คือ คีย์เวิร์ดที่กาหนดคุณสมบัติการเข้าถึงเมธอด return_type คือ ชนิดของข้อมูลที่เมธอดจะส่งค่ากลับ ถ้าในกรณีที่ไม่มีการส่งค่าใดๆ กลับจะกาหนดให้เป็น void MethodName คือ ชื่อเมธอด parameter คือ พารามิเตอร์ที่ใช้ในการรับข้อมูล method_body คือ ชุดคาสั่งการทางานของเมธอด varValue คือ ค่าที่ต้องการส่งค่ากลับ ในกรณีที่กาหนดให้ return_type เป็น void จะไม่มีคาสั่ง return
  • 5. 3. อาร์กิวเมนต์ (Argument) และพารามิเตอร์ (Parameter) ในการเรียกใช้เมธอดนั้น เราสามารถส่งผ่านข้อมูลให้กับเมธอด เพื่อให้เมธอดนั้นสามารถนาข้อมูลไปใช้ประมวลผลได้ ค่าของข้อมูลที่ส่ง ให้กับเมธอด เรียกว่า อาร์กิวเมนต์ (argument) เช่น ในการเรียกใช้คาสั่ง System.out.println("Hello"); “Hello” เป็น argument ที่ส่งให้กับเมธอด println() ซึ่งเมื่อมีการส่ง ค่า argument ให้กับเมธอดแล้ว ที่ตัวของเมธอดจะต้องมีการสร้างตัวแปร เพื่อใช้รับค่า argument นั้น ตัวแปรที่ถูกสร้างขึ้นมานี้มีชื่อเรียกว่า พารามิเตอร์ (parameter)
  • 6. จากตัวอย่างที่ 1 newDay, newMonth และ newYear คือ parameter ของเมธอด setDate ในการเรียกใช้งานเมธอดนั้น จานวน argument ที่จะส่งให้กับเมธอด จะต้องมีจานวนตรงกับจานวน parameter ที่จะมารับเสมอ
  • 7. จากตัวอย่างที่ 2 ค่า 18, 10 และ 2556 คือ argument ที่ส่งให้กับเมธอด setDate โดยค่าเหล่านี้จะถูกส่งไปเก็บไว้ที่ parameter ที่ชื่อว่า newDay, newMonth และ newYear ตามลาดับ
  • 8. 4. การเรียกใช้งานเมธอด การเรียกใช้งานเมธอดจะมีส่วนหลักๆ อยู่ 2 ส่วน คือ การส่งค่า arguments ให้กับเมธอด และการรับค่าที่ส่งคืนมาจากเมธอด 4.1 การส่งค่า argument ให้กับเมธอด ในการจะส่งค่า argument ให้กับเมธอด เราจะต้องประกาศ parameter สาหรับเมธอดนั้นๆ โดยจะต้องระบุชนิดข้อมูล ตามด้วยชื่อของ parameter ถ้าหากต้องการให้มี parameter มากกว่าหนึ่งตัว สามารถทา ได้โดยใช้เครื่องหมาย , (comma) คั่นในตอนที่เราสร้างเมธอด ดูได้จาก ตัวอย่างที่ 1
  • 9. การเรียกใช้เมธอด หากเมธอดนั้นมีการรับค่าด้วย parameter เราต้องทาการส่ง argument ให้กับเมธอดนั้น โดยที่จานวน argument นั้นต้องเท่ากับจานวน parameter ที่เรา ประกาศไว้ โดยคั่นระหว่าง argument แต่ละตัวด้วยเครื่องหมาย comma และชนิดข้อมูล ของ argument นั้นต้องตรงกับชนิดข้อมูลของ parameter ด้วย ดูได้จากตัวอย่างที่ 2 ค่าของ argument ที่จะส่งนั้น อาจจะเป็นค่าคงที่(constant) เช่น 10 (int constant), -1.2 (double constant), ‘a’ (char constant), true (boolean constant) หรือ ตัวแปร (variable) เช่น x, myDog, std1.name หรือนิพจน์ (expression) เช่น x*x / 2 - 1.732, date.getDay() ก็ได้ แต่ชนิดข้อมูลนั้นจะต้องสอดคล้องกับชนิดข้อมูลของ parameter การส่งค่าให้กับเมธอดในภาษาจาวานั้น เป็นการส่งค่าแบบ pass by value หมายความว่า เมื่อมีการเรียกใช้งานเมธอด โปรแกรมจะทาการสร้างตัวแปรขึ้นมาใหม่ในเมธ อดที่ถูกเรียก เพื่อมารับค่าที่จะถูกส่งเข้ามา การแก้ไขค่าของ parameter ในเมธอดจึงไม่ ส่งผลกระทบกับตัวแปรต้นฉบับหากตัวแปรนั้นเป็นข้อมูลชนิดพื้นฐาน (primitive type)
  • 10. จากตัวอย่างที่ 3 สาเหตุที่ x ยังคงมีค่าเท่ากับ 10 ภายหลังจากการเรียกใช้งานเมธอด add5 เนื่องจากว่าตัวแปร x ที่อยู่ใน main กับตัวแปร x ที่อยู่ในเมธอด add5 เป็นคนละตัวกัน ดังนั้น คาสั่ง x = x + 5 จึงส่งผลกับแปร x ที่อยู่ในเมธอด add5 เท่านั้น และเมื่อเรากลับมาที่ main ค่าของ x ใน main จึงมีค่าเท่าเดิม อย่างไรก็ตาม หาก object ที่ส่งให้กับเมธอดมีชนิดข้อมูลเป็นแบบอ้างอิง (reference type) การเปลี่ยนค่า attribute ของ object นั้นๆในเมธอด จะส่งผลกระทบกับ object ต้นฉบับด้วย ดังตัวอย่างต่อไปนี้
  • 11.
  • 12. จากตัวอย่างที่ 4 สาเหตุที่ num มีค่าเปลี่ยนไปหลังจากเรียกใช้งานเมธอดก็เพราะว่าตัวแปรชนิด object ทุกๆตัวนั้นเป็นประเภท reference type เสมอ ซึ่งสิ่งที่เก็บอยู่ในตัวแปร reference type คือ ตาแหน่งที่อยู่(adddress)ในหน่วยความจาที่ object นั้นๆ ถูกเก็บอยู่ในตอนที่มันถูกสร้างขึ้นมาด้วย คาสั่ง new ดังนั้นในตอนที่เราเรียกใช้เมธอด add10(obj) นั้น ค่าที่ถูกส่งให้กับเมธอดคือตาแหน่งที่ อยู่ของตัว object เมื่อเราทาการเปลี่ยนค่าของ object ในตัวเมธอด ค่านั้นจะถูกเปลี่ยนที่ตัว object ตามตาแหน่งที่อยู่ที่มันถูกเก็บไว้ ตัว object ต้นฉบับจึงถูกเปลี่ยนค่าไปด้วย
  • 13. 4.2 การรับค่าคืนจากเมธอด หากเมธอดมีการส่งค่าคืน (มี return type ที่ไม่ใช่ void) เราจะต้องสั่งให้เมธอดทาการส่ง ค่ากลับ ซึ่งทาได้โดยใช้คาสั่ง return value; โดยวางคาสั่งนี้ไว้ที่ตัวเมธอด ทั้งนี้value คือค่าที่เรา ต้องการส่งกลับ ดังตัวอย่างต่อไปนี้ จากตัวอย่างที่ 5 ค่าที่ส่งกลับมาจากเมธอดนั้น เราสามารถที่จะนาไปเก็บไว้ในตัวแปรก่อน (โดยที่ ชนิดข้อมูลจะต้องตรงกับชนิดข้อมูลที่เมธอด return มาให้) หรือว่าเราสามารถที่จะนาไปใช้เลย โดยตรงก็ได้ ดังเช่นบรรทัดที่ 7 และ 9 ตามลาดับ
  • 14. 5. ประเภทของเมธอด เมธอดในภาษาจาวา สามารถแบ่งออกได้เป็น 3 ประเภทหลักๆตามหน้าที่การใช้งาน ดังนี้ 1) Instance method 2) Static method 3) Constructor method
  • 15. 5.1 Instance Method Instance method คือเมธอดที่กระทากับตัว object โดยตรง ดังเช่นใน ตัวอย่างที่ 1 setDate ถือเป็น instance method เพราะว่า setDate จะกระทากับ object ที่เรียกใช้มันเท่านั้น จากตัวอย่างที่ 2 จะเห็นได้ว่า การจะเรียกใช้งานเมธอด setDate นั้น เราจะต้องทาการสร้าง object (ในที่นี้คือ date) ขึ้นมาก่อน แล้วเรียกใช้ ผ่าน object นั้น (บรรทัดที่ 3 และ 4) เราสามารถใช้คีย์เวิร์ด this เพื่อเรียกถึง object ที่ทาการเรียกใช้เมธอดนั้นๆได้ ตัวอย่างเช่น
  • 16. เราสามารถใช้คีย์เวิร์ด this เพื่อเรียกถึง object ที่ทาการเรียกใช้เมธอดนั้นๆได้ ตัวอย่างเช่น จากตัวอย่างที่ 6 ในเมธอด setDate มี parameter 3 ตัว ได้แก่ day, month และ year ซึ่งจะเห็นว่า หากเราเขียนว่า day = day; อาจจะทาให้โปรแกรมทางานผิดพลาดได้ เพราะว่า day ทั้งสองตัวนั้น อ้างถึงตัวแปรเดียวกันที่เป็น parameter ของเมธอด การที่เราจะอ้างอิงถึง day ที่เป็น instance variable นั้น ทาได้โดยใช้ this.day แทน ซึ่ง this จะมีค่าเท่ากับตัว object ที่เรียกใช้ อย่างไรก็ตาม ไม่แนะนาให้ตั้งชื่อ parameter ให้เหมือนกับชื่อ instance variable เพราะอาจจะทาให้สับสนได้ ดังนั้น ควรจะตั้งชื่อ parameter ให้ต่างจากชื่อ attribute ดังเช่นตัวอย่างที่ 1
  • 17. 5.2 Static Method Static method (หรือเรียกอีกชื่อหนึ่งว่า class method) คือเมธอดที่มีพฤติกรรมที่ไม่ ขึ้นอยู่กับ object ใดๆ ตัวอย่างเช่น เมธอด abs สาหรับหาค่าสัมบูรณ์นั้น ควรจะมีพฤติกรรมที่ไม่ ขึ้นอยู่กับ object ที่จะทาการเรียกใช้ แต่ขึ้นอยู่กับ argument ของเมธอดเท่านั้น นอกจากนี้ผู้ใช้ควร จะสามารถเรียกใช้เมธอด abs ได้โดยไม่ต้องทาการสร้าง object ขึ้นมาใหม่ วิธีการทาเช่นนี้ในภาษา จาวาทาได้โดยใส่คีย์เวิร์ด static ไว้หน้าชื่อของเมธอด (แต่อยู่หลังจาก access modifier) ดัง ตัวอย่างต่อไปนี้
  • 18. การเรียกใช้งาน static method นั้น เราสามารถเรียกใช้งานผ่านชื่อคลาสได้โดยตรงโดยไม่ต้องมีการ สร้าง object ขึ้นมาก่อน ดังตัวอย่างที่ 8 ข้อควรระวังสาหรับการใช้งาน static method ก็คือ เราไม่สามารถเรียกใช้งาน instance variable หรือ instance method จากภายใน static method ได้ แต่ยังเราสามารถเรียกใช้งาน static variable หรือ static method อื่นๆได้อยู่
  • 19. 5.3 Constructor Method Constructor method เป็นเมธอดที่มีลักษณะพิเศษ คือมีชื่อเหมือนกับชื่อ คลาสและไม่มีการกาหนดชนิดของข้อมูลที่ถูกส่งกลับ(return type) โดย constructor จะถูกเรียกใช้เมื่อมีการใช้คาสั่ง new ดังเช่นบรรทัดที่ 3 ของตัวอย่างที่ 2 ทั้งนี้หน้าที่ ของ constructor คือกาหนดค่าเริ่มต้นให้กับ attribute ของ object ที่ถูกสร้างขึ้นมา การประกาศ constructor สามารถทาได้เหมือนกับเมธอดอื่นๆ ตัวอย่างเช่น
  • 20. ตัวอย่างที่ 9 คลาส Date ประกอบด้วย constructor สองตัว คือบรรทัดที่ 4 – 8 ซึ่งเป็น constructor ที่ไม่มีการรับค่า parameter และบรรทัดที่ 10 – 14 ซึ่งมีการรับค่า parameter เป็น int 3 ตัว (การที่ เรามีเมธอดที่มีชื่อเหมือนกันมากกว่าหนึ่งเมธอด จะเรียกว่า method overloading ซึ่งรายละเอียด จะกล่าวในหัวข้อที่ 6) หากเราสร้างคลาสโดยไม่สร้าง constructor ขึ้นมาเอง (ดังเช่นตัวอย่างที่ 1) จาวาจะทาการสร้าง default constructor ที่ไม่มีการรับค่า parameter แล้วกาหนดค่า instance variable ให้เป็นค่าตาม default value ให้โดยอัตโนมัติ อย่างไรก็ตาม หากเราสร้าง constructor ขึ้นมาเองอย่างน้อยหนึ่งตัว จาวาจะไม่สร้าง default construct ให้กับเรา และถ้าเราต้องการใช้ constructor ที่ไม่รับค่า argument เราจะต้องสร้างขึ้นมา เอง ตัวอย่างเช่น
  • 21.
  • 22. 6. Method Overloading Method overloading คือการที่เมธอดมากกว่าหนึ่งตัวที่อยู่ภายในคลาส เดียวกันมีชื่อเหมือนกัน (เช่น จากตัวอย่างที่ 9 มี constructor ที่ชื่อว่า Date เหมือนกันสองตัว) Method overloading สามารถทาได้ถ้าหากว่ามีอย่างน้อยหนึ่งข้อต่อไปนี้ เป็นจริง (1) จานวน parameter ของเมธอดที่จะ overload นั้นไม่เท่ากัน (2) ชนิดข้อมูลของ parameter นั้นต่างกันอย่างน้อยหนึ่งตัว
  • 23. จากตัวอย่างที่ 11 จะสังเกตเห็นว่า คลาส Date ในที่นี้มีเมธอด add ทั้งหมด 3 เมธอด ซึ่งเมธอดทั้งหมดผ่านเงื่อนไขในข้อ (1) หรือ (2)
  • 24. ข้อควรระวัง: เราไม่สามารถ overload เมธอดโดยใช้ return type ได้ ตัวอย่างเช่น ซึ่งจะให้ผลลัพธ์ error
  • 25. 7. ตัวอย่างเมธอดสาเร็จรูปในภาษาจาวา ภาษาจาวานั้น ได้สร้างเมธอดสาเร็จรูปบางส่วนมาให้แล้ว โดยที่เราสามารถ เรียกใช้งานได้เลย ตัวอย่างเช่น เมธอดที่เกี่ยวกับการประมวลผลเกี่ยวกับตัวเลข จะอยู่ ในคลาส Math หรือ เมธอดที่เกี่ยวกับการจัดการกับ string จะอยู่ในคลาส String ตัวอย่างของเมธอดสาเร็จรูปที่น่าสนใจมีดังนี้
  • 26. เมธอดเหล่านี้เป็น static method เราจึงสามารถเรียกใช้งานเมธอดเหล่านี้ได้โดยคาสั่ง Math.method_name(parameters)
  • 27.
  • 28. เมธอดเหล่านี้เป็น instance method เวลาจะเรียกใช้ เราต้องเรียกใช้ผ่าน object ตัวอย่างเช่น "abc".length(); หรือ String s = "This is a sample string"; boolean flag = s.contains("sample"); หมายเหตุ: เมธอด concat, toLowerCase, toUppercase จะไม่ทาการเปลี่ยนค่าของตัว string ที่ เรียกใช้โดยตรง แต่จะ return ค่าของ string อันใหม่ที่เป็นผลลัพธ์ของเมธอดแทน ดังนั้น หากเรา ต้องการเปลี่ยนค่าของตัวแปรต้นฉบับโดยเมธอด concat, toLowerCase, toUppercase, etc. เรา จะต้องมีการกาหนดค่าให้กับมันเอง เช่น s = s.concat("abc"); s = s.toLowerCase(); s = s.toUpperCase();
  • 29. จัดทำโดย นำงสำวกำญจนำ ถึกจรูญ เลขที่21 นำงสำวขวัญจิรำ โพธิ์ล้อม เลขที่28 นำงสำวจิดำภำ บำรุงวงศ์ เลขที่ 29 นำงสำวณัฐฐำ ศรีอินทร์ เลขที่ 30 นำงสำวพิมพ์ลภัส กลมทุกสิ่ง เลขที่ 31 นำงสำวสิริลักษณ์ วุฒิมงคลกุล เลขที่32 นำงสำวเกสรำ วัจนะ เลขที่ 38 ชั้น มัธยมศึกษำปีที่ 6/2 เสนอ คุณครู ทรงศักดิ์ โพธิ์เอี่ยม