ยินดีต้อนรับ

ยินดีต้อนรับเข้าสู้เว็บไซต์ Object- Oriented Programming"

2.6 การเรียกใช้ methods

การเรียกใช้ methods

การเขียนโปรแกรมเชิงวัตถุโดยใช้ 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 ชื่อ TAirPlane AirPlane1 = new AirPlane1(); // จองพื้นที่ในหน่วยความจำ จึงจะเริ่มเรียกใช้ได้ AirPlane1.Fly(); // สั่งให้ object AirPlane1 ทำกริยา บิน AirPlane1.color = RED; // เปลี่ยน สี (คุณสมบัติ) ของเครื่องบิน ให้เป็นสีแดง



วิธีเรียกใช้ 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 นั้นมี constructor
      class 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
      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(); } }





อ้างอิงจาก: http://javasupaporn.blogspot.com/2012/12/25-methods.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น