19
บบบบบ 4 บบบบบบ Method

เมธอด กลุ่ม3

Embed Size (px)

Citation preview

Page 1: เมธอด กลุ่ม3

บทท�� 4 เรื่��อง Method

Page 2: เมธอด กลุ่ม3

เมธอด (Method) คื�อ คืวามสามารถในการทำ�างานของออบเจ็�กต์� ม�นถ�กสร�างข��นมาพร�อมก�บการสร�างออบเจ็�กต์� ซึ่�!งออบเจ็�กต์�ทำ"!สร�างจ็ากคืลาสเด"ยวก�นก�จ็ะม"รายการของเมธอดต์&างๆ เหม�อนก�น 

การทำ"!ออบเจ็�กต์�ม"เมธอดจ็ะช่&วยให�ผู้��ใช่�งาน ไม&ต์�องก�งวล หร�อไม&ต์�องสนใจ็ว&า จ็ะม"ว-ธ"การทำ�างานภายในเมธอดเป็0นอย&างไร สนใจ็เพ"ยงแคื&ใช่�งานอย&างไร ช่&วยให�เมธอดทำ"!ม"ไม&ถ�กย2&งย&ามก�าวก&ายโดยไม&จ็�าเป็0น 

Method คื�ออะไรื่

Page 3: เมธอด กลุ่ม3

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

Page 4: เมธอด กลุ่ม3

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

เมธอดหล�กิ - สร�างข��นเพ�!อเร"ยกเมธอดอ�!นๆ ข��นมาทำ�างาน - ม"การเข�าถ�งเมธอดหล�กแบบสาธารณะ(public) สามารถน�าเมธอดหล�กไป็ใช่�ได�ก�บทำ2กๆ คืลาส - สามารถเร"ยกใช่�งานได�ทำ�นทำ"ไม&ต์�องผู้&านออบเจ็�กต์� - ไม&ม"การคื�นคื&ากล�บไป็ทำ"!เมธอดอ�!น

Page 5: เมธอด กลุ่ม3

รื่�ปแบบกิารื่สรื่"างเมธอดหล�กิ

public static void main(String[ ] args){    รายละเอ"ยดการทำ�างานในเมธอด}

- ส�าหร�บเมธอดย&อยทำ�!วๆ ไป็ทำ"!ไม&ใช่&เมธอดหล�ก อาจ็เป็0น static method ,instant method, contructor method, Overloading method หร�อ Overriding method ก�ได� แต์&ละช่น-ดม"โคืรงสร�างไม&เหม�อนก�บเมธอดหล�ก ส&วนป็ระกอบบางอย&างอาจ็ม"หร�อไม&ม"ก�ได�ต์ามแต์&ล�กษณะการทำ�างาน

Page 6: เมธอด กลุ่ม3

รื่�ปแบบกิารื่สรื่"างเมธอดย่�อย่

กิารื่เข้"าถึ%งเมธอด ชน�ดข้องข้"อม�ลท��จะส�งกิล�บออกิไป ช��อเมธอด ( ล�กิษณะข้องต์�วแปรื่ส�ง ช��อต์�วแปรื่ส�ง)

{รื่าย่ละเอ�ย่ดกิารื่ท*างานในเมธอด}

Page 7: เมธอด กลุ่ม3

Method รื่�ปแบบต์�างๆเมธอดม"อย�&ด�วยก�น 5 ป็ระเภทำแบ&งต์ามล�กษณะการทำ�างานด�งน"�ปรื่ะเภทท�� 1 : static method  เป็0นเมธอดทำ"!เร"ยกใช่�ต์�วแป็รได�ทำ�นทำ" ไม&ต์�องม"การสร�างออบเจ็�กต์�ข��นมาเพ�!อเร"ยกใช่�ต์�วแป็ร เช่&น การคื�านวณทำางคืณ-ต์ศาสต์ร�  ซึ่�!ง static method จ็ะร�บคื&าทำ"!ผู้��ใช่�ต์�องการคื�านวณ และทำ�าการคื�านวณ แล�วส&งผู้ลล�พธ�กล�บไป็ย�งผู้��ใช่� 

Page 8: เมธอด กลุ่ม3

ปรื่ะเภทท�� 2 :instance method เป็0นเมธอดทำ�!วๆ ไป็ทำ"!สร�างข��นมาใช่�ก�นบ&อยๆ เมธอดแบบน"�จ็ะไม&ม"คื�าว&า static อย�&ข�างหน�าต์�วแป็ร เม�!อจ็ะเร"ยกใช่� method ป็ระเภทำน"� จ็ะต์�องม"การสร�างออบเจ็�กต์�ข��นมา

Method รื่�ปแบบต์�างๆ

Page 9: เมธอด กลุ่ม3

ปรื่ะเภทท�� 3 : constructor method /  constructor คื�อเมธอดทำ"!ม"ช่�!อเด"ยวก�บคืลาส ซึ่�!งเม�!อออบเจ็�กต์�ใดๆ ถ�กสร�างข��นมาจ็ากคืลาสแล�ว เมธอดน"�จ็ะเร-!มทำ�างานทำ�นทำ"เป็0นเมธอดแรก (ป็กต์-ม�กจ็ะใช่�ก�าหนดคื&าเร-!มต์�นของการทำ�างาน)

Page 10: เมธอด กลุ่ม3

ปรื่ะเภทท�� 4 : Overloading method  คื�อ เมธอดหลายเมธอดทำ"!ม"ช่�!อเด"ยวก�น แต์&ม"ช่น-ดของต์�วแป็รต์&างช่น-ดก�น หร�อจ็�านวนอาร�ก-วเมนต์�ไม&เทำ&าก�น เพราะงานบางงานอาจ็ใช่�ช่�!องานเด"ยวก�น แต์&ต์�องม"การแยกแยะว&า ม"การส&งคื&าต์�วแป็รช่น-ดใดมา เช่&น ถ�าส&งคื&าต์�วแป็รมาเป็0น Integer ก�ให�ทำ�างานในเมธอดหน�!ง ถ�าส&งมาเป็0น String ก�ให�ทำ�างานในอ"กเมธอดหน�!ง 

Page 11: เมธอด กลุ่ม3

ปรื่ะเภทท�� 5 : Overriding method   คื�อ เมธอดหลายเมธอดทำ"!ม"ช่�!อเด"ยวก�น ช่น-ดของต์�วแป็รเหม�อนก�น แต์&เข"ยนโป็รแกรมในล�กษณะทำ"!เมธอดหน�!งอย�&ในคืลาสแม& อ"กเมธอดหน�!งอย�&ในคืลาสล�ก ซึ่�!งเม�!อม"เมธอดช่�!อซึ่��าก�น ร�บคื&าของต์�วแป็รเหม�อนก�นป็รากฏในคืลาสล�กโป็รแกรมจ็ะทำ�างานต์ามคื�าส�!งในคืลาสล�กโดยอ�ต์โนม�ต์- ซึ่�!งส&วนน"�เราจ็ะอธ-บายอย&างละเอ"ยดในบทำ Inheritance 

Page 12: เมธอด กลุ่ม3

กิารื่ใช"งานเมธอดส*าเรื่.จรื่�ป - เมธอดส*าเรื่.จรื่�ปเกิ��ย่วกิ�บสต์รื่�ง  ร�ป็แบบการใช่�งานSystem.out.print

( “ข้"อคืวาม”); System.out.println ( “ข้"อคืวาม”); System.out.print ( “ข้"อคืวาม”+ ต์�วแปรื่);System.out.print (ต์�วแปรื่ +“ข้"อคืวาม”);System.out.print ( “ข้"อคืวาม ”+ ต์�วแปรื่ + “ข้"อคืวาม”);System.out.print (ต์�วแปรื่ );-กิารื่จ�ดรื่�ปแบบกิารื่แสดง

ผลต์�วเลข้ ร�ป็แบบการใช่�งานDecimalFormat ช่�!อออบเจ็�กต์� =

new DecimalFormat( pattern);

Page 13: เมธอด กลุ่ม3

เมธอด toUpperCase : เปล��ย่นข้"อคืวามเป1นต์�วพ�มพ�ใหญ่�ร�ป็แบบการใช่�งาน

เมธอด toLowerCase : เปล��ย่นข้"อคืวามเป1นต์�วพ�มพ�เล.กิร�ป็แบบการใช่�งาน

ข�อคืวาม.toUpperCase( )

ข�อคืวาม. toLowerCase( )

กิารื่ต์�ดคื*าด"วย่เมธอด substringร�ป็แบบการใช่�งาน

ข�อคืวาม. Substring( ต์�าแหน&งเร-!มต์�นของคื�าทำ"!การเหล�อไว� ,จ็�านวนต์�วอ�กษรทำ"!ต์�องการเหล�อไว�);

Page 14: เมธอด กลุ่ม3

กิารื่แทนท��คื*าด"วย่เมธอด replaceร�ป็แบบการใช่�งาน

เมธอดท��ใช"ต์�ดช�องว�างด"วย่ trimร�ป็แบบการใช่�งาน

เมธอด split: แย่กิข้"อคืวามออกิเป1นส�วนๆร�ป็แบบการใช่�งาน 

ข�อคืวามเด-ม.replace( คื�าทำ"!จ็ะถ�กแทำนทำ"!, คื�าใหม&ทำ"!แทำนทำ"!);

ข้"อคืวาม.trim( );

ข้"อคืวาม.Split(“อ�กิษรื่ท��ใช"ในกิารื่แบ�งข้"อคืวาม”);

Page 15: เมธอด กลุ่ม3

เมธอด length : หาคืวามย่าวข้องข้"อคืวามร�ป็แบบการใช่�งาน

เมธอด floor : ป3ดเศษทศน�ย่มลงร�ป็แบบการใช่�งาน

เมธอด ceil : ป3ดเศษทศน�ย่มข้%5นร�ป็แบบการใช่�งาน

ข้"อคืวาม.length( )

Math.floor(ต์�วแปรื่ หรื่�อเลข้ทศน�ย่ม);

Math.ceil(ต์�วแปรื่ หรื่�อเลข้ทศน�ย่ม);

Page 16: เมธอด กลุ่ม3

เมธอด round : ป3ดทศน�ย่มต์ามหล�กิคืณ�ต์ศาสต์รื่�ร�ป็แบบการใช่�งาน

เมธอด random : ส6�มต์�วเลข้ทศน�ย่ม ร�ป็แบบการใช่�งาน

round (เลข้ทศน�ย่ม, ต์*าแหน�งท��ต์"องกิารื่ป3ดเศษทศน�ย่ม);

Math.random( );

Page 17: เมธอด กลุ่ม3

เมธอดเพ��อกิารื่คื*านวณทางคืณ�ต์ศาสต์รื่�

นอกจ็ากเมธอดทำางคืณ-ต์ศาสต์ร�ทำ"!ได�กล&าวก&อนหน�าน"�แล�ว ย�งม"เมธอดคืณ-ต์ศาสต์ร�อ�!นๆ ทำ"!ช่&วยในการคื�านวณทำางคืณ-ต์ศาสต์ร� และการแป็ลงต์�วเลขร�ป็แบบต์&างๆ มาให�ใช่�งานก�นมากมาย ด�งต์ารางต์&อไป็น"�

Page 18: เมธอด กลุ่ม3

คืลาส Date: แสดงว�นเด�อนป7 และเวลา หร�อ ร�ป็แบบการใช่�งาน

Date ช��อออบเจ.กิต์� = new Date( );SimpleDateFormat ช��อออบเจ.กิต์� = new SimpleDateFormat(รื่�ปแบบท��ต์"องกิารื่แสดง);

Page 19: เมธอด กลุ่ม3

จ็�ดทำ�าโดย นายณ�ช่นน หมอกลาง เลขทำ"! 2 นายพงศธร อย�&คืง เลขทำ"! 3 น.ส.ป็ร"ยาภรณ� แสงทำว" เลขทำ"! 14 น.ส.ทำ-พย�อ�กษร โต์แก�ว เลขทำ"! 18 น.ส.ป็ระภ�สสร บ2ญเง-น เลขทำ"! 21 น.ส.จ็2ฑาร�ต์น� ล-�มทำอง เลขทำ"! 34

กล2&มทำ"! 3ช่��นม�ธยมศ�กษาป็:ทำ"! 6/2

เสนอคื2ณคืร�ทำรงศ�กด-; โพธ-;เอ"!ยม