Upload
mook-prapasson
View
38
Download
1
Embed Size (px)
Citation preview
บทท�� 4 เรื่��อง Method
เมธอด (Method) คื�อ คืวามสามารถในการทำ�างานของออบเจ็�กต์� ม�นถ�กสร�างข��นมาพร�อมก�บการสร�างออบเจ็�กต์� ซึ่�!งออบเจ็�กต์�ทำ"!สร�างจ็ากคืลาสเด"ยวก�นก�จ็ะม"รายการของเมธอดต์&างๆ เหม�อนก�น
การทำ"!ออบเจ็�กต์�ม"เมธอดจ็ะช่&วยให�ผู้��ใช่�งาน ไม&ต์�องก�งวล หร�อไม&ต์�องสนใจ็ว&า จ็ะม"ว-ธ"การทำ�างานภายในเมธอดเป็0นอย&างไร สนใจ็เพ"ยงแคื&ใช่�งานอย&างไร ช่&วยให�เมธอดทำ"!ม"ไม&ถ�กย2&งย&ามก�าวก&ายโดยไม&จ็�าเป็0น
Method คื�ออะไรื่
อารื่�กิ�วเมนต์�และพารื่าม�เต์อรื่�
เมธอดหล�กิและเมธอดย่�อย่
เมธอดหล�กิ - สร�างข��นเพ�!อเร"ยกเมธอดอ�!นๆ ข��นมาทำ�างาน - ม"การเข�าถ�งเมธอดหล�กแบบสาธารณะ(public) สามารถน�าเมธอดหล�กไป็ใช่�ได�ก�บทำ2กๆ คืลาส - สามารถเร"ยกใช่�งานได�ทำ�นทำ"ไม&ต์�องผู้&านออบเจ็�กต์� - ไม&ม"การคื�นคื&ากล�บไป็ทำ"!เมธอดอ�!น
รื่�ปแบบกิารื่สรื่"างเมธอดหล�กิ
public static void main(String[ ] args){ รายละเอ"ยดการทำ�างานในเมธอด}
- ส�าหร�บเมธอดย&อยทำ�!วๆ ไป็ทำ"!ไม&ใช่&เมธอดหล�ก อาจ็เป็0น static method ,instant method, contructor method, Overloading method หร�อ Overriding method ก�ได� แต์&ละช่น-ดม"โคืรงสร�างไม&เหม�อนก�บเมธอดหล�ก ส&วนป็ระกอบบางอย&างอาจ็ม"หร�อไม&ม"ก�ได�ต์ามแต์&ล�กษณะการทำ�างาน
รื่�ปแบบกิารื่สรื่"างเมธอดย่�อย่
กิารื่เข้"าถึ%งเมธอด ชน�ดข้องข้"อม�ลท��จะส�งกิล�บออกิไป ช��อเมธอด ( ล�กิษณะข้องต์�วแปรื่ส�ง ช��อต์�วแปรื่ส�ง)
{รื่าย่ละเอ�ย่ดกิารื่ท*างานในเมธอด}
Method รื่�ปแบบต์�างๆเมธอดม"อย�&ด�วยก�น 5 ป็ระเภทำแบ&งต์ามล�กษณะการทำ�างานด�งน"�ปรื่ะเภทท�� 1 : static method เป็0นเมธอดทำ"!เร"ยกใช่�ต์�วแป็รได�ทำ�นทำ" ไม&ต์�องม"การสร�างออบเจ็�กต์�ข��นมาเพ�!อเร"ยกใช่�ต์�วแป็ร เช่&น การคื�านวณทำางคืณ-ต์ศาสต์ร� ซึ่�!ง static method จ็ะร�บคื&าทำ"!ผู้��ใช่�ต์�องการคื�านวณ และทำ�าการคื�านวณ แล�วส&งผู้ลล�พธ�กล�บไป็ย�งผู้��ใช่�
ปรื่ะเภทท�� 2 :instance method เป็0นเมธอดทำ�!วๆ ไป็ทำ"!สร�างข��นมาใช่�ก�นบ&อยๆ เมธอดแบบน"�จ็ะไม&ม"คื�าว&า static อย�&ข�างหน�าต์�วแป็ร เม�!อจ็ะเร"ยกใช่� method ป็ระเภทำน"� จ็ะต์�องม"การสร�างออบเจ็�กต์�ข��นมา
Method รื่�ปแบบต์�างๆ
ปรื่ะเภทท�� 3 : constructor method / constructor คื�อเมธอดทำ"!ม"ช่�!อเด"ยวก�บคืลาส ซึ่�!งเม�!อออบเจ็�กต์�ใดๆ ถ�กสร�างข��นมาจ็ากคืลาสแล�ว เมธอดน"�จ็ะเร-!มทำ�างานทำ�นทำ"เป็0นเมธอดแรก (ป็กต์-ม�กจ็ะใช่�ก�าหนดคื&าเร-!มต์�นของการทำ�างาน)
ปรื่ะเภทท�� 4 : Overloading method คื�อ เมธอดหลายเมธอดทำ"!ม"ช่�!อเด"ยวก�น แต์&ม"ช่น-ดของต์�วแป็รต์&างช่น-ดก�น หร�อจ็�านวนอาร�ก-วเมนต์�ไม&เทำ&าก�น เพราะงานบางงานอาจ็ใช่�ช่�!องานเด"ยวก�น แต์&ต์�องม"การแยกแยะว&า ม"การส&งคื&าต์�วแป็รช่น-ดใดมา เช่&น ถ�าส&งคื&าต์�วแป็รมาเป็0น Integer ก�ให�ทำ�างานในเมธอดหน�!ง ถ�าส&งมาเป็0น String ก�ให�ทำ�างานในอ"กเมธอดหน�!ง
ปรื่ะเภทท�� 5 : Overriding method คื�อ เมธอดหลายเมธอดทำ"!ม"ช่�!อเด"ยวก�น ช่น-ดของต์�วแป็รเหม�อนก�น แต์&เข"ยนโป็รแกรมในล�กษณะทำ"!เมธอดหน�!งอย�&ในคืลาสแม& อ"กเมธอดหน�!งอย�&ในคืลาสล�ก ซึ่�!งเม�!อม"เมธอดช่�!อซึ่��าก�น ร�บคื&าของต์�วแป็รเหม�อนก�นป็รากฏในคืลาสล�กโป็รแกรมจ็ะทำ�างานต์ามคื�าส�!งในคืลาสล�กโดยอ�ต์โนม�ต์- ซึ่�!งส&วนน"�เราจ็ะอธ-บายอย&างละเอ"ยดในบทำ Inheritance
กิารื่ใช"งานเมธอดส*าเรื่.จรื่�ป - เมธอดส*าเรื่.จรื่�ปเกิ��ย่วกิ�บสต์รื่�ง ร�ป็แบบการใช่�งานSystem.out.print
( “ข้"อคืวาม”); System.out.println ( “ข้"อคืวาม”); System.out.print ( “ข้"อคืวาม”+ ต์�วแปรื่);System.out.print (ต์�วแปรื่ +“ข้"อคืวาม”);System.out.print ( “ข้"อคืวาม ”+ ต์�วแปรื่ + “ข้"อคืวาม”);System.out.print (ต์�วแปรื่ );-กิารื่จ�ดรื่�ปแบบกิารื่แสดง
ผลต์�วเลข้ ร�ป็แบบการใช่�งานDecimalFormat ช่�!อออบเจ็�กต์� =
new DecimalFormat( pattern);
เมธอด toUpperCase : เปล��ย่นข้"อคืวามเป1นต์�วพ�มพ�ใหญ่�ร�ป็แบบการใช่�งาน
เมธอด toLowerCase : เปล��ย่นข้"อคืวามเป1นต์�วพ�มพ�เล.กิร�ป็แบบการใช่�งาน
ข�อคืวาม.toUpperCase( )
ข�อคืวาม. toLowerCase( )
กิารื่ต์�ดคื*าด"วย่เมธอด substringร�ป็แบบการใช่�งาน
ข�อคืวาม. Substring( ต์�าแหน&งเร-!มต์�นของคื�าทำ"!การเหล�อไว� ,จ็�านวนต์�วอ�กษรทำ"!ต์�องการเหล�อไว�);
กิารื่แทนท��คื*าด"วย่เมธอด replaceร�ป็แบบการใช่�งาน
เมธอดท��ใช"ต์�ดช�องว�างด"วย่ trimร�ป็แบบการใช่�งาน
เมธอด split: แย่กิข้"อคืวามออกิเป1นส�วนๆร�ป็แบบการใช่�งาน
ข�อคืวามเด-ม.replace( คื�าทำ"!จ็ะถ�กแทำนทำ"!, คื�าใหม&ทำ"!แทำนทำ"!);
ข้"อคืวาม.trim( );
ข้"อคืวาม.Split(“อ�กิษรื่ท��ใช"ในกิารื่แบ�งข้"อคืวาม”);
เมธอด length : หาคืวามย่าวข้องข้"อคืวามร�ป็แบบการใช่�งาน
เมธอด floor : ป3ดเศษทศน�ย่มลงร�ป็แบบการใช่�งาน
เมธอด ceil : ป3ดเศษทศน�ย่มข้%5นร�ป็แบบการใช่�งาน
ข้"อคืวาม.length( )
Math.floor(ต์�วแปรื่ หรื่�อเลข้ทศน�ย่ม);
Math.ceil(ต์�วแปรื่ หรื่�อเลข้ทศน�ย่ม);
เมธอด round : ป3ดทศน�ย่มต์ามหล�กิคืณ�ต์ศาสต์รื่�ร�ป็แบบการใช่�งาน
เมธอด random : ส6�มต์�วเลข้ทศน�ย่ม ร�ป็แบบการใช่�งาน
round (เลข้ทศน�ย่ม, ต์*าแหน�งท��ต์"องกิารื่ป3ดเศษทศน�ย่ม);
Math.random( );
เมธอดเพ��อกิารื่คื*านวณทางคืณ�ต์ศาสต์รื่�
นอกจ็ากเมธอดทำางคืณ-ต์ศาสต์ร�ทำ"!ได�กล&าวก&อนหน�าน"�แล�ว ย�งม"เมธอดคืณ-ต์ศาสต์ร�อ�!นๆ ทำ"!ช่&วยในการคื�านวณทำางคืณ-ต์ศาสต์ร� และการแป็ลงต์�วเลขร�ป็แบบต์&างๆ มาให�ใช่�งานก�นมากมาย ด�งต์ารางต์&อไป็น"�
คืลาส Date: แสดงว�นเด�อนป7 และเวลา หร�อ ร�ป็แบบการใช่�งาน
Date ช��อออบเจ.กิต์� = new Date( );SimpleDateFormat ช��อออบเจ.กิต์� = new SimpleDateFormat(รื่�ปแบบท��ต์"องกิารื่แสดง);
จ็�ดทำ�าโดย นายณ�ช่นน หมอกลาง เลขทำ"! 2 นายพงศธร อย�&คืง เลขทำ"! 3 น.ส.ป็ร"ยาภรณ� แสงทำว" เลขทำ"! 14 น.ส.ทำ-พย�อ�กษร โต์แก�ว เลขทำ"! 18 น.ส.ป็ระภ�สสร บ2ญเง-น เลขทำ"! 21 น.ส.จ็2ฑาร�ต์น� ล-�มทำอง เลขทำ"! 34
กล2&มทำ"! 3ช่��นม�ธยมศ�กษาป็:ทำ"! 6/2
เสนอคื2ณคืร�ทำรงศ�กด-; โพธ-;เอ"!ยม