งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 6 เมธอด. เมธอดคืออะไร เมธอด (Method) คือ ความสามารถในการ ทำงานของออบเจ็กต์ มันถูกสร้างขึ้นมาพร้อม กับการสร้างออบเจ็กต์ ซึ่งออบเจ็กต์ที่สร้างจาก.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 6 เมธอด. เมธอดคืออะไร เมธอด (Method) คือ ความสามารถในการ ทำงานของออบเจ็กต์ มันถูกสร้างขึ้นมาพร้อม กับการสร้างออบเจ็กต์ ซึ่งออบเจ็กต์ที่สร้างจาก."— ใบสำเนางานนำเสนอ:

1 บทที่ 6 เมธอด

2 เมธอดคืออะไร เมธอด (Method) คือ ความสามารถในการ ทำงานของออบเจ็กต์ มันถูกสร้างขึ้นมาพร้อม กับการสร้างออบเจ็กต์ ซึ่งออบเจ็กต์ที่สร้างจาก คลาสเดียวกันก็จะมีรายการของเมธอดต่างๆ เหมือนกัน การที่ออบเจ็กต์มีเมธอดจะช่วยให้ผู้ใช้งาน ไม่ ต้องกังวล หรือไม่ต้องสนใจว่า จะมีวิธีการ ทำงานภายในเมธอดเป็นอย่างไร สนใจเพียงแค่ ใช้งานอย่างไร ช่วยให้เมธอดที่มีไม่ถูกยุ่งย่าม ก้าวก่ายโดยไม่จำเป็น แต่ละเมธอดจะแบ่งหน้าที่กันทำงาน แต่ก็ สามารถทำงานร่วมกันได้ และสามารถเรียกใช้ ได้หลายครั้ง เมธอดมีทั้งประเภทที่ผู้ใช้สร้างขึ้นมาเองและเมธ อดที่จาวามีให้ใช้อยู่แล้ว

3 เมธอดหลักและเมธอดย่อย เมธอดหลัก สร้างขึ้นเพื่อเรียกเมธอด อื่นๆ ขึ้นมาทำงาน มีการเข้าถึงเมธอดหลัก แบบสาธารณะ (public) สามารถนำเมธอดหลัก ไปใช้ได้กับทุกๆ คลาส สามารถเรียกใช้งานได้ ทันทีไม่ต้องผ่าน ออบเจ็กต์ ไม่มีการคืนค่ากลับไปที่ เมธอดอื่น

4 Method Invocation main Method A Method B Method A()Method B()

5 Ch5_1.java public class ch5_1 { public static void main(String[] args) { System.out.println("I am starting in main."); deep(); System.out.println("Now, I am back in main."); } //end of main public static void deep(){ System.out.println("I am now in deep"); deeper(); System.out.println("Now, I am back in deep"); } // end of deep public static void deeper(){ System.out.println("I am now in deeper"); }// end of deeper } // end of class

6 Ch5_1.java (edit) public class ch5_1 { public static void main(String[] args) { System.out.println("I am starting in main."); useDeep.deep(); System.out.println("Now, I am back in main."); } //end of main } // end of class ch5_1 class useDeep { public static void deep(){ System.out.println("I am now in deep"); deeper(); System.out.println("Now, I am back in deep"); } // end of deep public static void deeper(){ System.out.println("I am now in deeper"); }// end of deeper } // end of class useDeep

7 Result of ch5_1.java I am starting in main. I am now in deep I am now in deeper Now, I am back in deep Now, I am back in main.

8 การส่งค่าอาร์กิวเมนต์และเมธอดที่มีการส่งค่ากลับ import java.util.Scanner; public class testMax { public static void main(String[] args) { int num1,num2, num3; Scanner keyboard = new Scanner(System.in); System.out.println("Enter number1 :"); num1 = keyboard.nextInt(); System.out.println("Enter number2 :"); num2 = keyboard.nextInt(); num3 = max(num1,num2); System.out.println("The Maximum of "+num1+" and "+num2+" is "+num3); }// end of main static int max(int a,int b){ if (a>b) return a; else return b; } // end of max }//end of class

9 ตัวแปรแบบ 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 In texas, there are 500 birds. In california, there are 3500 birds.

10 เมธอดหลักและเมธอดย่อย ( ต่อ ) รูปแบบการสร้างเมธอดหลัก สำหรับเมธอดย่อยทั่วๆ ไปที่ไม่ใช่เมธอดหลัก อาจเป็น static method,instant method, contructor method, Overloading method หรือ Overriding method ก็ได้ แต่ละชนิดมี โครงสร้างไม่เหมือนกับเมธอดหลัก ส่วนประกอบบางอย่างอาจมีหรือไม่มีก็ได้ ตามแต่ลักษณะการทำงาน public static void main(String[ ] args) { รายละเอียดการทำงานในเมธอด }

11 เมธอดหลักและเมธอดย่อย ( ต่อ ) รูปแบบการสร้างเมธอดย่อย การเข้าถึงเมธอด ชนิดของข้อมูลที่จะส่งกลับออกไป ชื่อเมธอด ( ลักษณะของตัวแปรส่ง ชื่อตัวแปรส่ง ) { รายละเอียดการทำงานในเมธอด }

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

13

14 Method รูปแบบต่างๆ ประเภทที่ 2 :instance method เป็นเมธอดทั่วๆ ไปที่สร้างขึ้นมาใช้กันบ่อยๆ เมธ อดแบบนี้จะไม่มีคำว่า static อยู่ข้างหน้าตัวแปร เมื่อจะเรียกใช้ method ประเภทนี้ จะต้องมีการ สร้างออบเจ็กต์ขึ้นมา ค่าของข้อมูลจะเปลี่ยนไปตามออบเจ็กต์ที่สร้าง ขึ้นและการเรียกประมวลผลต้องเรียกผ่านชื่อ ออบเจ็กต์นั้น

15

16 Method รูปแบบต่างๆ ประเภทที่ 3 : constructor method constructor คือเมธอดที่มีชื่อเดียวกับคลาส ซึ่ง เมื่อออบเจ็กต์ใดๆ ถูกสร้างขึ้นมาจากคลาสแล้ว เมธอดนี้จะเริ่มทำงานทันทีเป็นเมธอดแรก ( ปกติ มักจะใช้กำหนดค่าเริ่มต้นของการทำงาน ) คอนสตรัคเตอร์เมธอด ไม่มีคืนค่าข้อมูล

17 Constructor

18 Start Color = Black Start Speed = 0 Current Color: Pink 5 10

19 Method รูปแบบต่างๆ ประเภทที่ 4 : Overloading method Overloading method คือ เมธอดหลายเมธอด ที่มีชื่อเดียวกัน แต่มีชนิดของตัวแปรต่างชนิดกัน หรือจำนวนอาร์กิวเมนต์ไม่เท่ากัน เพราะงานบาง งานอาจใช้ชื่องานเดียวกัน แต่ต้องมีการ แยกแยะว่า มีการส่งค่าตัวแปรชนิดใดมา เช่น ถ้าส่งค่าตัวแปรมาเป็น Integer ก็ให้ทำงานใน เมธอดหนึ่ง ถ้าส่งมาเป็น String ก็ให้ทำงานใน อีกเมธอดหนึ่ง

20 Area in Trinagle = Area in Circle =

21 Method รูปแบบต่างๆ ประเภทที่ 5 : Overriding method Overriding method คือ เมธอดหลายเมธอดที่ มีชื่อเดียวกัน ชนิดของตัวแปรเหมือนกัน แต่ เขียนโปรแกรมในลักษณะที่เมธอดหนึ่งอยู่ใน คลาสแม่ อีกเมธอดหนึ่งอยู่ในคลาสลูก ซึ่งเมื่อมี เมธอดชื่อซ้ำกัน รับค่าของตัวแปรเหมือนกัน ปรากฏในคลาสลูกโปรแกรมจะทำงานตามคำสั่ง ในคลาสลูกโดยอัตโนมัติ ซึ่งส่วนนี้เราจะอธิบาย อย่างละเอียดในบท Inheritance

22 Method รูปแบบต่างๆ ตัวอย่าง Overriding method Cell phone can tel. PDA phone can tell… PDA phone GPS feature. SuperClass SubClass Cell phone can tel. Cell phone can tell. PDA phone GPS feature.

23 ก่อนจบบท ในบทนี้เราได้เรียนรู้เกี่ยวกับการใช้งานเมธอด อย่างละเอียด ซึ่งมีการใช้งานหลากหลายทั้งที่ เป็นเมธอดหลัก ( เมธอด main) ที่เราคุ้นเคย หรือเมธอดชนิด instance method, เมธอด ชนิด static method รวมทั้งเมธอดชนิดพิเศษที่ ทำงานตอนที่เริ่มต้นสร้างออบเจ็กต์นั่นคือ constructor method รวมทั้งการที่เราสามารถ ใช้เมธอดที่มีชื่อเดียวกัน ( แต่อาร์กิวเมนต์ ต่างกัน ) ในรูปแบบของ Overloading method และการดัดแปลงเมธอดที่ได้จากการสืบทอด คลาสคือ Overriding Method

24 Assignment#4 1. จงหาข้อผิดพลาดในการเขียนเมธอดต่อไปนี้ พร้อมทั้งแก้ไขให้ถูกต้อง 1.1 Public static void main(String, arg[]) { double Area; double Width = 5; double Height = 4; Area = Width*Height; return Area; } // end of main

25 1.2 public static int half(double num) { double result = num/2.0; return result; } 1.3 public static double timesTwo(double num) { double result = num*2; }

26 1.4 public static void main(String args[]) { double T_Area = Triangle(7;9); System.out.println(“ พื้นที่สามเหลี่ยม ฐาน ”+Base+ “ สูง ”+Height+ “ คือ ”+ “T_Area”); } // end of main Public double Triangle (int Base, Height) { Area = 0.5*Base*Height; return Area; }

27 2 ฝึกเขียนโปรแกรม 2.1 จงเขียนโปรแกรมสร้างเมธอดสำหรับ คำนวณหาพื้นที่สามเหลี่ยม โดยให้อินพุตเป็น ความยาวฐานและส่วนสูง เอาท์พุตเป็นพื้นที่ สามเหลี่ยม 2.2 จงเขียนโปรแกรมเพื่อสร้างเมธอด main รับ ค่าเลขจำนวนเต็ม 3 จำนวนมาจากแป้นพิมพ์ แล้วสร้างเมธอด 2 เมธอด สำหรับหาค่าสูงสุด และต่ำสุดของเลขจำนวนเต็ม 3 จำนวน 2.3 จงเขียนโปรแกรมสร้างเมธอดเพื่อหาค่า x ยก กำลังสาม โดยที่ x เป็นเลขจำนวนเต็มตั้งแต่ 1 ถึง 100


ดาวน์โหลด ppt บทที่ 6 เมธอด. เมธอดคืออะไร เมธอด (Method) คือ ความสามารถในการ ทำงานของออบเจ็กต์ มันถูกสร้างขึ้นมาพร้อม กับการสร้างออบเจ็กต์ ซึ่งออบเจ็กต์ที่สร้างจาก.

งานนำเสนอที่คล้ายกัน


Ads by Google