More Related Content
More from นุ๊ก ฆ่าตกรโรคจิต (19)
Methods
- 2.
การประกาศฟังก์ชันหรือ Method รูปแบบทั่วไปของ Method จะเป็นดังนี้
Accessibility return_data_type methodName(parameter_list ) { //
รายละเอียด }
•Accessibility คือ การกาหนดชนิดการเรียกใช้และการเข้าถึง Method
ตัวอย่างของ Accessibility เช่น public,protected,private,static เป็นต้น
•return_data_type คือ ค่าที่ส่งกลับมาจาก Method ถ้าไม่มีใช้คาว่า Void
ตัวอย่างของ return_data_type เช่น int,char,string,float,int[ ],string[ ] เป็นต้น
•methodName คือ ชื่อของ method เช่น maxFunction
•parameter_list คือ ตัวแปรที่รับเข้ามาใน method
ตัวอย่างของ parameter_list เช่น int x1,float x2,char x3 เป็นต้น
•ตัวอย่างการประกาศ Method
โครงสร้างของเมธอด (Method Structure)
- 3.
คลาส Math
Abs() ใช้หาค่าสัมบูรณ์
Sqrt() ใช้หาค่ารากที่สอง
Now() ใช้หาค่ายกกาลัง
Ceil() ใช้ปัดเศษค่าทศนิยมให้มากขึ้น
Floor() ใช้ปัดเศษทศนิยมให้มีค่าน้อยล
แนะนาคลาส Math และเมธอดทางคณิตศาสตร์
คลาส Math เป็นคลาสที่ Java มีมาให้อยู่แล้วเพื่อใช้สาหรับการประมวลผลทางคณิตศาสตร์
คลาส Math นี้จะอยู่ในแพคเกจ Java.lang คลาสนี้มีค่าคงตัวที่น่าสนใจ 2 ตัวคือ
1.Math.E
2.Math.Pl
ตัวอย่างคลาส Math
- 4. การเขียนโปรแกรมเชิงวัตถุโดยใช้ Java : การเรียกใช้ method ของ object
objectName .methodName[(arguments)];
objectName คือชื่อของ object
methodName คือชื่อ method ของ object นั้น
arguments คือค่าที่ต้องการส่งผ่านไปให้กับ method ของ object นั้น โดยที่จะต้องมีชนิดข้อมูลและจานวน
argument ให้สอดคล้องกับที่ประกาศใน method ของ object นั้น
ตัวอย่าง
s1.setName(“Thana”);
ตัวอย่างคลาส ที่เตรียมให้ถูกเรียกใช้class TAirPlane { int color; // สี เป็น คุณสมบัติอีกแบบ static
void Fly() { }; // บิน เป็น พฤติกรรม หรือ กริยา ที่ object ทาได้ static void Land() { }; // ลงจอด
เป็น อีกพฤติกรรมหนึ่ง TAirPlane() { System.out.println(“result of constructor”); }}
TAirPlane AirPlane1; // สร้าง object ชื่อ AirPlane1 จาก class ชื่อ
TAirPlaneAirPlane1 = new AirPlane1(); // จองพื้นที่ในหน่วยความจา จึงจะเริ่มเรียกใช้ได้
AirPlane1.Fly(); // สั่งให้ object AirPlane1 ทากริยา บินAirPlane1.color = RED; //
เปลี่ยน สี (คุณสมบัติ) ของเครื่องบิน ให้เป็นสีแดง
การเรียกใช้methods
- 5.
วิธีเรียกใช้ method แบบต่าง ๆ
แบบที่ 1 : เรียกใช้ Constructor และใช้พื้นที่ในหน่วยความจาclass hello1 { public
static void main(String args[]) { TAirPlane abc = new
TAirPlane(); }} แบบที่ 2 : แยกประกาศใช้คลาสและใช้พื้นที่ในหน่วยความจาclass hello2 {
public static void main(String args[]) { TAirPlane abc; abc =
new TAirPlane(); }} แบบที่ 3 : ใช้พื้นที่ในหน่วยความจา และเป็นการเรียกใช้ constructor
ซึ่ง class นี้ ต้องอยู่ใน Directory เดียวกันclass hello3 { public static void
main(String args[]) { new TAirPlane(); }} แบบที่ 4 : เรียกใช้ method
Fly() แต่จะเรียก constructor มาก่อน ถ้า class นั้นมี constructorclass hello4 {
public static void main(String args[]) { new TAirPlane().Fly(); }}
แบบที่ 5 : เมื่อสร้างวัตถุขึ้นมา สามารถเรียกใช้ method อื่น โดย constructor ทางานเฉพาะครั้งแรก
class hello5 { public static void main(String args[]) { TAirPlane
abc = new TAirPlane(); abc.Fly(); abc.Land(); }} แบบที่ 6 : แสดงตัวอย่าง
การเรียก main และต้องส่ง Array of String เข้าไปclass hello6 { public static
void main(String args[]) { TAirPlane abc = new TAirPlane();
String a[] = {}; // new String[0]; abc.main(a); }} แบบที่ 7 : เรียกใช้
method ภายในคลาสเดียวกันclass hello7 { public static void main(String
args[]) { minihello(); } static void minihello() {
System.out.println(“result of mini hello”); }} แบบที่ 8 : เรียกใช้ method
แบบอ้างชื่อคลาส ในคลาสเดียวกันclass hello8 { public static void main(String
args[]) { hello8 x = new hello8(); x.minihello(); } static void
minihello() { System.out.println(“result of mini hello”); }} แบบที่ 9 :
เรียกใช้ method แบบไม่กาหนด method เป็น Static พร้อมรับ และคืนค่า:: ผลลัพธ์คือ 8
- 6.
class hello9 { public static void main(String args[]) { hello9 xx
= new hello9(); System.out.println(xx.oho(4)); } int oho(int x)
{ return (x * 2); }} แบบที่ 10 : เรียกใช้ method ภายในคลาสเดียวกัน โดย method
สามารถรับ และส่งค่าได้:: เรียก method ใน static ตัว method ที่ถูกเรียกต้องเป็น static
ด้วย
class hello10 { public static void main(String args[]) {
System.out.println(oho(5)); } static int oho(int x) { x = x * 2;
return x; }} แบบที่ 11 : ใช้ extends เพื่อการสืบทอด (Inheritance)::
Constructor ของ TAirPlane จะไม่ถูกเรียกมาทางาน
class hello11 extends TAirPlane { public static void main(String
args[]) { Fly(); Land(); }} แบบที่ 12 : ใช้ extends เพื่อการสืบทอด
(Inheritance) แบบผ่าน constructor:: Constructor ของ TAirPlane จะถูก
เรียกมาทางาน
class hello12 extends TAirPlane { hello12() { Fly(); Land(); }
public static void main(String args[]) { new hello12(); }}
- 8.
ตัวแปรที่ประกาศใช้ในเมธอดเรียกว่าตัวแปรแบบท้องถิ่น หรือตัวแปรแบบโลคอล
(local variable) โดยจะใช้ได้เฉพาะสเตตเมนต์ในเมธอดเท่านั้น สเตตเมนต์
ต่างๆที่อยู่นอกเมธอดที่ประกาศตัวแปรนี้จะไม่สามารถเรียกใช้ตัวแปรนี้ได้ การประการ
ตัวแปรแบบโลคอลนี้ จะทาให้เมธอดหลายๆเมธอดใช้ชื่อตัวแปรเดียวกันได้
แม้ตัวแปรในเมธอดที่สร้างขึ้นจะมีชื่อเดียวกัน โดยแต่ละเมธอดมีการกาหนดค่าให้กับตัว
แปรเป็นค่าที่ไม่เท่ากัน ถ้าสังเกตจากผลลัพธ์จะพบว่าตัวแปรทั้งสองไม่เกี่ยวข้องกัน การ
ประกาศตัวแปรแบบโลคอลนี้ เมื่อเมธอดถูกเรียกใช้มันจะสร้างหน่วยความจาขึ้นมา
สาหรับเก็บตัวแปรนั้น แต่เมื่อเมธอดทางานเสร็จสิ้นลงหน่วยความจาสาหรับตัวแปรนั้น
จะถูกยกเลิกไป
ตัวแปรแบบ Local
- 9.
โอเวอร์โหลดเมธอด ( Overloading Method)
วิธีชนิดข้อมูลของพารามิเตอร์วิธีการที่หลากหลายและชนิดของข้อมูลพารามิเตอร์ต่างกันก็ต้องมีการสร้าง
วิธีการขึ้นมาใหม่มีประโยชน์คือ ง่ายต่อการจาชื่อวิธีการที่มีข้อผิดพลาดในเรื่องของค่าพารามิเตอร์
ตัวอย่างเช่น
static double Numb (double a, b สองครั้ง)
int คงที่ Numb (int a, int b)
เอาท์พุท:
โอเวอร์โหลดเมธอด
- 10.
รหัสแหล่งที่มา:
1 //T1.java
2 คลาสสาธารณะ T1 {
3 สาธารณะ static void main (String [] args)
4 {
5 System.out.println ("Display Type Integer =" + Numb (4,5));
6 System.out.println ("Display Type Double =" + Numb
(14.75,50.25));
7} // end main
8
9 ประชาชนคงคู่ Numb (คู่ n1, คู่ n2)
- 11.
10 {if (n1> n2)
ผลตอบแทน 11 n1;
12 อื่น ๆ
ผลตอบแทน 13 n2; } // end
14
15 สาธารณะคง int Numb (int n1, int n2)
16 {if (n1> n2)
ผลตอบแทน 17 n1;
18 อื่น ๆ
19 กลับ n2; } // end
20
21} // end clas
- 12.
ชั้นมัธยมศึกษาปีที่ 6/3
นายพีรดนย์ รูปทอง ม.6/3 เลขที่ 10
นางสาวธัญสมร ทองคา ม.6/3 เลขที่ 22
นางสาวกรรณิการ์ บุญเยี่ยม ม.6/3 เลขที่ 32
นางสาวณัชชา บัวงาม ม.6/3 เลขที่ 33
นางสาวสุวดี ป้อมสันเทียะ ม.6/3 เลขที่ 34
นางสาวอาภาศิริ เชาว์รัษา ม.6/3 เลขที่ 35
สมาชิกผู้จัดทา