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

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

2.5 การเรียกใช้ 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

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

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