More Related Content
Similar to งานนำเสนอ1 (20)
งานนำเสนอ1
- 2. หัหัข้ข้ อ (Topic)
วว อ (Topic)
4.1 การนิยามและเรี ยกใช้เมธอด (Definition and
Call Method)
4.2 ประเภทของเมธอด (Type of Method)
4.3 การใช้แมธคลาสเมธอด (Math class method)
- 3. • วัวัตถุประสงค์กการเรีนรู้นรู้ (Learning Objective):
ต ถุประสงค์ ารเรี ย ย (Learning Objective):
• 1. สามารถเขียน Syntax ของการนิยาม Method ได้
• 2. บอกความแตกต่างของ Method แต่ละประเภทได้
• 3. สามารถเขียนโปรแกรมโดยการใช้ ประโยชน์จาก Method ได้ อย่าง
เหมาะสม
• 4. สามารถเขียนโปรแกรมในการรับส่งค่า Parameters ของ Method ได้
• 5. สามารถเขียนโปรแกรมโดยใช้ Math class method
- 4. • จากเนื *อหาในบทที+ผานมา เราได้ เรี ยนรู้เกี+ยวกับการใช้
่
ชุดคําสังในการควบคุมโปรแกรม (Control Structure) ซึงเป็ น
+ +
สิงจําเป็ นเสมอสําหรับภาษาเขียนโปรแกรมทุกภาษา นอกจากนี * การ
+
เขียนโปรแกรมภายในหนึงโปรแกรมนัน คุณอาจต้ องแยกส่วนงาน
+ *
ภายในโปรแกรมของคุณออกเป็ นสัดส่วน เพื+อให้ ง่ายต่อการบริการ
จัดการข้ อมูล คุณจะสามารถใช้ หรื อสร้ าง Method เพื+อจัดกลุม ่
ประเภทข้ อมูล หรื อกลุมของหน้ าที+งานได้ ตามความเหมาะสม
่
- 5. 4.1 การนิยยามและเรียกใช้ เเมธอด
4.1 การนิ ามและเรี ยกใช้ มธอด
(Definition and Call Method)
(Definition and Call Method)
• ก่อนที#เราจะดู Syntax ในการใช้งาน Method เรามาทําความ
รู ้จกกับความหมายของ Method กันก่อน
ั
Method เป็ นระเบียบวิธีในการทํางาน โดยการจัดกลุ่มข้อมูล
สร้างเป็ น Function ย่อยภายในโปรแกรมเพื#อง่ายต่อการบริ หารจัดการกลุ่ม
ข้อมูล ซึ# งมีท3 ง Method ที#คุณสร้างขึ3นใช้งาน
ั
่
แอง และ Method ที# Java นั3นมีอยูแล้ว รอเพียงการถูกเรี ยกใช้
- 6. • โดยปกติแล้วการเขียนโปรแกรมทางคอมพิวเตอร์มีจุดประสงค์เพื#อที#จะใช้โปรแกรม
• นั3นช่วยในการทํางานของคุณ ให้คุณสามารถทํางานได้สะดวกและง่ายขึ3น ดังนั3น
โปรแกรมที#คุณเขียน จะใช้ในการแก้ปัญหาของระบบงานในปั จจุบนของคุณ และการ
ั
เขียนโปรแกรมในโลกแห่งความเป็ นจริ งแล้วนั3น โปรแกรมมักมีขนาดใหญ่ มีความ
ซับซ้อน มีจานวนบรรทัดของโปรแกรม (Line of code) จํานวนมาก ทําให้คุณ
ํ
่
ยุงยากในการบริ หารจัดการชุดคําสัง หรื อโปรแกรมของคุณ ดังนั3นเพื#อให้โครงสร้าง
#
ของโปรแกรมมีขนาดเล็กลง เราสามารถใช้วธีการแบ่งโปรแกรม ใหญ่ ออกเป็ นงาน
ิ
ส่ วนย่อย ๆ เรี ยกว่า แบ่งเป็ น “modules” และนําหลาย ๆ modules นั3นมา
ประกอบกันเป็ นโปรแกรมสําเร็ จพร้อมใช้ และสําหรับ Java นั3นถ้าพูด
ถึง “Module” ไม่ได้หลายถึงเฉพาะการสร้าง Method ในโปรแกรมเท่านั3น
จะยังหมายรวมถึง class อีกด้วย นันหมายความว่า ในหนึ#งโปรแกรมของคุณ
#
นอกจากจะสร้าง Method ซึ#งเปรี ยบเสมือน Function ย่อยภายในโปรแกรม
แล้ว คุณยังสามารถสร้างได้หลาย ๆ คลาสในหนึ#งโปรแกรมอีกด้วย ดังนั3นคํา
ว่า Module ใน Java จึงหมายถึง “Method and class”
- 7. • สําหรับ Java แล้ว คุณสามารถเขียนโปรแกรมโดยรวม
เอา method และ class เข้าไว้ดวยกัน สามารถ
้
ใช้ Method และ class อ้างอิงความสามารถของ API
(Application Programming Interface) และ Java class
library ได้ นอกจากนี3 Java ยังมี Java API ที#ได้
เตรี ยมพร้อม classs และ method สําเร็ จรู ปหลากหลายชนิด พร้อมถูก
เรี ยกใช้งาน ทั3งสนับสนุนงานด้านณิ ตศาสตร์ การจัดการ
ข้อมูล String อักขระ จัดการ Input/Output การตรวจสอบ
ข้อผิดพลาดและอื#น ๆ
การนิยามเมธอด (Definition Method)
• การนิยามเมธอด (Definition Method)
การนิยามเป็ นการสร้างตัวตน (Body) ของ Method เพือให้รู้
#
้ # ่
ว่า Method ชี3ชื#ออะไร บรรจุขอมูลและชุดคําสังอะไรอยูภายใน
บ้าง สามารถสร้าง Method ได้ตาม Syntax ต่อไปนี3
- 8. Syntax:
Syntax:
Accessibility return_data_type methodName
(parameter_list)
{ statement ;
statement;}
- 9. เมื"อ " อ
เมื
• - Accessibility คือ การระบุคํานําหน้ า Method ด้ วยคํา
ว่า private, protect, public และ static เพื+อให้ ทราบว่า method นัน *
เป็ น method ชนิดใด
• - return_data_type คือ การระบุชนิดข้ อมูลที+จะใช้ ในการ return ค่า
กลับของ method
• เช่น ข้ อมูลชนิด String ,int หรื อ double หาก method นันไม่ต้องการ *
ให้ return ค่ากลับ ให้ ระบุคํานําหน้ าด้ วย “void” แทนที+ชนิดข้ อมูล
• - methodName คือ ชื+อ method ที+เราตังขึ *น (ไม่ซํ *า
*
กับ Keyword)
• - parameter_list คือ ตัวแปรที+ใช้ ในการรับค่า ของ method นัน *
ๆ สามารถใช้ ตวแปรได้ หลายตัว โดยที+ตวแปร parameter นันไม่จําเป็ นต้ องใช้ ข้อมูล
ั ั *
ชนิดเดียวกัน หรื อ method ที+คณสร้ างนันอาจไม่จําเป็ นต้ องใช้ ตว
ุ * ั
แปร parameter ก็ได้
• - statement คือ ประโยคคําสัง +
ภายใน body ของ method นัน ๆ *
- 10. ตัวอย่ างเช่ น
public static void ann(int a) // หลังเครื+ องหมายวงเล็บ ( ) ไม่ใส่
เครื+ องหมาย (; )
{
statement;
statement;
}
Note : การสร้ าง Method นันต้ องกระทํานอก body ของ main()
*
- 11. • การเรี ยกใช้ Method (Call Method)
การเรี ยกใช้ Method (
เนื+องจากการสร้ าง method นันจะต้ องสร้ างไว้ ภายนอก
*
body ของ method main() ซึงเป็ น method หลักในการเริ+ มทํางานของ
+
โปรแกรม ดังนันการเรี ยกใช้ method ที+สร้ างขึ *นจะต้ องถูกเรี ยกภายใน method
*
main() โดยใช้ syntax ดังนี *
รูปแบบ
ชื+อ Method();
- 12. •4.2 ประเภทของเมธอด (Type of Method)
4.2 ประเภทของเมธอด (T
จําแนก method ใน Java ได้ 2 ประเภท ได้ แก่
Method ที+สร้ างขึ *นมาเอง และ Method ที+มีอยูแล้ ว ซึงแต่ละ
่ +
ประเภทมีลกษณะดังนี *
ั
• 4.1.1 Method ที"ทีร้" สร้งขึงขึนมาเอง
4.1.1 Method ส า า นมาเอง + +
สามารถจําแนก method ที+สร้ างขึ *นเอง ได้
ประเภท 6 ประเภท ดังนี *
- 13. 1. Method ไม่ รับและไม่ สส่งค่ า
1. Method ไม่ รับและไม่ ่ งค่ า
เป็ น method ที+ไม่มีตวแปร parameter ดังนัน
ั *
ภายใน body ของ method ชนิดนี *จึงประกอบไป
ด้ วย statement ที+ต้องการให้ ทํางานเท่านัน ขอยกตัวอย่างโปรแกรม
*
ง่าย ๆ ที+ไม่มีความซับซ้ อนเพื+อง่ายต่อความเข้ าใจดังนี *
2. Method ที"มีการส่ งงค่าา
2. Method การส่ ค่
เป็ น method ที+ไม่มีตวแปร parameter แต่เมื+อสิ *นสุดการ
ั
ทํางานของ method จะทําการ return กลับไปยัง method เมื+อ
ถูกเรี ยกใช้ งาน
- 14. • 3. Method ทีที"มีทการรั บค่ าค่ าและส่า ค่ า
3. Method " มีทัง งการรั บ และส่ งค่ ง
+ ั+
เป็ นโปรแกรม ที+มีการ เขียนค่าต่างๆเป็ นตัวเลข สามารถส่งเข้ าและ
รับออกได้ เช่น โปรแกรมเครื+ องคิดเลข เป็ นต้ น
• 4.Overloading Method
4.Overloading Method
Method ประเภทนี *สามารถรับค่าตัวแปรparameterได้
หลากหลายชนิด หลักการคือ ต้ องสร้ าง Method ขึ *นมาใหม่และใช้
ชื+อ Method เดียวกัน ถ้ าชนิดข้ อมูลของ Method ต่างกันและ
ชนิดข้ อมูลของ parameter ต่างกัน ก็ต้องสร้ างชื+อ method นัน *
ขึ *นมาใหม่ มีประโยชน์ คือ ง่ายต่อการจําชื+อ Method มีข้อเสียคือ
ยุงยากในเรื+ องของค่า Parameter
่
- 15. • 5. Constructor Method
5. Constructor Method
เป็ น Method ที+มีชื+อเดียวกับ Class ซึงถ้ าคุณเขียน Java โดย
+
ใช้ NetBeans Constructor Method นี *จะถูกสร้ างให้ โดย
อัตโนมัติ แต่ถ้าหากคุณใช้ Edit Plus คุณต้ องสร้ าง Constructor
Method เองเมื+อคุณต้ องการใช้ และในการนิยาม Method ชนิดนี *จะไม่มี
การ Return ค่ากลับ ซึงถ้ าเป็ น Method อื+น ๆ หากไม่ return ค่า ต้ อง
+
ระบุคําหลัก “ void” นําหน้ าชื+อ Method แต่สําหรับ Constructor
Method นี *ไม่ต้องมีคําว่า “void” ซึงโดยมากแล้ ว Constructor จะ
+
ใช้ ประโยชน์ในการ Generate ค่าเริ+ มต้ นกับกับโปรแกรมในครังแรก
*
เท่านัน Game โดยใช้ วิธีการ Random ค่าตัวเลขในการ Initial
*
Note : Constructor Method จะใช้ ในการ Generate ค่าเริ+ มต้ น
หรื อสิงที+ต้องการให้ เครื+ องทําครังแรกและครังเดียวเมื+อสัง Run โปรแกรม
+ * * +
- 16. •4.1.2 Method ที"มีอยู" มีอยู่แล้ ว
4.1.2 Method ที ่ แล้ ว
Method ชนิดนีมีอยูแล้ วใน class library พร้ อมถูก
่
เรี ยกใช้ งาน แต่จะแยกเป็ นMethodของClassและMethod
ของ Object โดยจําแนกได้ 2 ลักษณะ ดังนี *
- Method ของ Class (Class Method )จะเป็ นmethod
แบบ Static สามารถเรี ยกใช้ ได้ ทนทีโดยไม่จําเป็ นต้ องสร้ างObject ใหม่ ขึ *นมา
ั
- Method ของ Object (Instance Method) คือ Method ทัวไป +
ที+มีอยู่ใน class แต่เมื+อต้ องการเรี ยกใช้ งาน จะต้ องสร้ าง Object ขึ *นมาก่อน แล้ ว
ใช้ Object นันในการเข้ าถึง method
*
- 17. • Syntax : การใช้ Object เข้ าถึง Method ให้ เชื+อมด้ วย
เครื+ องหมาย ( . )
- 18. • 4.3การใช้ แมธคลาสเมธอด (Math class method)
4.3การใช้ แมธคลาสเมธอด (Math class method)
การใช้ งาน methodที+อยูภายใน Math class จะ
่
เป็ น Method ที+เกี+ยวข้ องกับการ คํานวณทางคณิตศาสตร์ ซึง
+
method เหล่านี *จัดอยูในประเภท “Methodของ Class
่
Method)” ที+กล่าวมาในข้ างต้ น ซึงแสดงตัวอย่างของmethod
+
ในMath Classดังภาพหน้ าต่อไปนี *
- 20. • การสุ่มค่ าค่ าตัวเลข (Random-Number
การสุ่ม ตัวเลข (Random-Number Generation)
นอกจากการใช้ method ข้ างต้ นของMath class
แล้ ว คุณยังสามารถ random ค่าตัวเลขเพื+อให้ เครื+ องGenerate
ค่าตัวเลขให้ โดยการใช้ method ของ math class ที+มีชื+อว่า
“random”โดยมีรูปแบบการใช้ งานดังนี *
Syntax :
double randomValue
= Math.random();
เมื"อ
randomValue หมายถึง ค่าตัวเลขที+ต้องการสุมและ
่
method random นี *จะrandomค่าตัวเลขให้ มีคาตังแต่ 0.0ขึ *นไป
่ *