Upload
jiraporn-chaijaroen
View
201
Download
1
Embed Size (px)
DESCRIPTION
กลุ่ม 3 method
Citation preview
เมธอด(methods
)
เมธอด (Method) คื�อ คืวามสามารถในการทำ�างานของออบเจ็�กต์�
ม�นถ�กสร�างข��นมาพร�อมก�บการสร�างออบเจ็�กต์�ซึ่� งออบเจ็�กต์�ทำ! สร�างจ็ากคืลาสเด!ยวก�นก�จ็ะม!
รายการของเมธอดต์%างๆ เหม�อนก�น
เมธอด คื�ออะไร
โคืรงสร�างทำ� วไปของ Method
จ็ากโคืรงสร�างจ็ะเห�นว%าโปรแกรมหน� งอาจ็ม!หลาย Class และในหน� ง Class จ็ะม!ก! Method ก�ได�แต์%ใน Class หล�ก
(Class ทำ! ม! public น�าหน�า) จ็ะต์�องม! main Method เสมอ
โคืรงสร�าง
ประเภทำของเมธอด จำ��แนก method ใน Java ได้ 2 ประเภท ได้แก� Method ท��
สร�งขึ้��นม�เอง และ Method ท��ม�อยู่��แลว ซึ่��งแต่�ละประเภทม�ล!กษณะด้!งน��1.Method ทำ! สร�างข��นมาเอง- Method ไม%ร�บและไม%ส%งคื%า- Method ทำ! ม!การส%งหร�อคื�นคื%ากล�บ- Method ทำ! ม!การร�บคื%าหร�อม!การน�าคื%าเข�าส�%ภายในเมธอด โดยผ่%าน
ทำาง parameter -.Method ทำ! ม!ทำ��งการร�บคื%าและส%งคื%า
2. Method ทำ! ม!อย�%แล�ว
เน$�องจำ�กก�รสร�ง method น!�นจำะต่องสร�งไวภ�ยู่นอกbody ขึ้อง method main() ซึ่��งเป%น method หล!กในก�รเร'�ม
ท��ง�นขึ้องโปรแกรม ด้!งน!�นก�รเร�ยู่กใช้ method ท��สร�งขึ้��นจำะ ต่องถู�กเร�ยู่กภ�ยู่ใน method main() โด้ยู่ใช้ syntax ด้!งน��
1. ในกรณี!ทำ! เป/น static method หร$อ เมธอด้ท��ไม�จำ��เป%นต่อง สร�งว!ต่ถู,ม�เร�ยู่กใช้
2. ในกรณี!ทำ! ไม%เป/น static method หร$อ เมธอด้ท��จำ��เป%นต่องสร�งว!ต่ถู,ม�เร�ยู่กใช้
การเร!ยกใช้� method
คืลาส Math คื�อ ช้น1ดข�อม�ลพ��นฐานทำ! เป/นต์�วเลข เช้%น int หร�อ double น��นสามารถน�ามาคื�านวณีได� ภาษา
จ็าวาม!คื�าส� งส�าหร�บการคื�านวณีง%ายๆ เช้%น การบวก การ ลบ การคื�ณี และการหาร ซึ่� งส�าหร�บการคื�านวณีทำ! ซึ่�บ
ซึ่�อนข��น เช้%น คื�านวณีต์ร!โกณีม1ต์1 ล�อกการ1ทำ�ม น��น ภาษา จ็าวาก�ทำ�าได� เช้%น ก�นโดยใช้�คืลาส Math ช้%วยในการ
คื�านวณี
แนะน�าคืลาส math และเมธอดทำางคืณี1ต์ศาสต์ร�
เมธอด้ท��น��สนใจำในคล�ส Math ส��หร!บเมธอด้ท��ใช้�บ�อยู่ๆใน คล�ส math ม�ด้!งน�� ค$อ
- sqrt() ใช้ในก�รห�ค��ร�กท��สอง เช้�น Math.sqrt(9) จำะม�ค�� เท��ก!บ 3
- cbrt() ใช้ในก�รก�ค��ร�กท��ส�ม เช้�น Math.cbrt(64) จำะเท��ก!บ 4- pow() ใช้ในก�รห�ค��ยู่กก��ล!ง เช้�น Math.pow(2,4) จำะเท��ก!บ 2
ยู่กก��ล!ง 4 หร$อ 16 น!�นเอง- abs() ใช้ในก�รห�ค��ส!มบ�รณ0 เช้�น Math.abs(-4) จำะเท��ก!บ 4- ceil() ใช้ในก�รห�ค��เลขึ้จำ��นวนเต่1มนอยู่ท��ส,ด้ท��ม�กกว��ต่!วเลขึ้ท��
ระบ,ไว เช้�นMath.ceil(3.27) จำะม�ค��เท��ก!บ 4 หร$อ Math.ceil(-3.27) จำะม�ค��
เท��ก!บ -4
เมธอดทำ! น%าสนใจ็
การส%งคื%ากล�บบ�ล!น บทคว�มน��จำะอธ'บ�ยู่ถู�งว'ธ�สร�งน'พจำน0เง$�อนไขึ้ (หร$อท��
เร�ยู่กว��บ�ล�น) น'พจำน0เง$�อนไขึ้จำะประเม'นว��เป%น 'จำร'ง' (True) หร$อ 'เท1จำ' (False) จำ�กน!�นจำะส�งกล!บผลล!พธ0ท��ต่รงก!บ
เง$�อนไขึ้ท��ค,ณระบ, ถู�ค,ณใช้ฟั5งก0ช้!นในน'พจำน0เง$�อนไขึ้ ค,ณยู่!งส�ม�รถูระบ,แอคช้!นส��หร!บค��ท��ต่รงและไม�ต่รงก!บเง$�อนไขึ้ใน
น'พจำน0ได้ ต่!วอยู่��งเช้�น ค,ณส�ม�รถูสร�งน'พจำน0ท��คนห�ก�ร ขึ้�ยู่ท!�งหมด้ท��ม�ส�วนต่��งขึ้องก��ไรเท��ก!บหร$อ นอยู่กว�� 10
เปอร0เซึ่1นต่0 แลวระบ,ว��ต่!วเลขึ้เหล��น��จำะปร�กฏเป%นต่!วอ!กษรส� แด้ง หร$อจำะใหแทนท��ค��ด้วยู่ขึ้อคว�ม
การส%งคื%ากล�บบ�ล!น
ต์�วแปรแบบ local ส�ม�รถูใช้ได้เฉพ�ะภ�ยู่ในเมธอด้เท��น!�น ท��ให
เมธอด้หล�ยู่ๆเมธอด้ส�ม�รถูใช้ช้$�อต่!วแปรช้$�อเด้�ยู่วก!นได้
ต์�วแปรแบบ local
public class LocalVars { public static void main(String[] args){
texas(); california();
} // end of main public static void texas() {
int birds = 500; System.out.println("In texas, there are "+birds+" birds.");
} // end of texas public static void california() {
int birds = 3500; System.out.println("In california, there are "+birds+" birds.");
} // end of california } // end of class
ต์�วอย%าง
เมธอด้ช้น'ด้หน��ง ภ�ษ�จำ�ว��อน,ญ�ต่ใหในคล�ส เด้�ยู่วก!นม�เมธอด้ช้$�อซึ่���ก!นได้ แต่�ต่องร!บพ�ร�ม'เต่อร0ท��ต่��ง
ก!น เมธอด้ท��ม�ช้$�อเหม$อนก!นแต่�ร!บช้น'ด้หร$อจำ��นวน พ�ร�ม'เต่อร0ท��แต่กต่��งก!นน!�น เร�ยู่กว�� "โอเวอร0โหลด้เด้1ด้
เมธอด้(overloaded methods)"
Overloading method
ต์�วอย%าง
การเข!ยนโปรแกรมประย5กต์�เสนอ
อ�จำ�รยู่0ทรงศั!กด้0 โพธ':เอ��ยู่มจ็�ดทำ�าโดย
น�ยู่พ!ทธพล ยู่!�งประยู่,ทธ เลขึ้ท�� 11น�งส�วจำ�ร�พร ช้!ยู่เจำร'ญ เลขึ้ท��
25น�งส�วณ!ฐช้ยู่� ประเสร'ฐศั!กด้': เลขึ้ท��26น�งส�วนวพร เก�ยู่รต่'กว'นวงศั0 เลขึ้ท��27
น�งส�วพ'มพ0ส$บเร$อง เลขึ้ท��28น�งส�วส,ภล!คน0 ม�สศัร� เลขึ้ท��39
ช้!�นม!ธยู่มศั�กษ� ม.6/1โรงเร!ยนเฉล1มพระเก!ยรต์1สมเด�จ็พระ
ศร!นคืร1นทำร� กาญจ็นบ5ร!