Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

การเขียนเมธอดว่าง (Empty Method) ใน Java

ตัวอย่างโค้ด

import java.util.Vector; 

public class Demo { 
    public static void myEmptyFun() { 
        // เมธอดว่าง - ไม่มีคำสั่งใดๆ ภายใน
    } 
    
    public static void main(String[] args) { 
        System.out.println("อยู่ในเมธอด main"); 
        myEmptyFun(); // เรียกเมธอดว่าง - ไม่เกิดอะไรขึ้น
    } 
}

ผลลัพธ์

อยู่ในเมธอด main

คำอธิบาย

เมธอดว่าง (empty method) คือเมธอดที่宣告ไว้แต่ไม่มีการดำเนินการใดๆ ภายในブロック `{}` - มีเพียงวงเล็บปีกกาเปิด-ปิดอย่างเดียว

กรณีที่ใช้เมธอดว่าง

  • Placeholder - รอการนำมา implement ภายหลัง (เช่นใน abstract class หรือ interface default method)
  • Override เพื่อปิดการทำงาน - ยกเลิกพฤติกรรมจาก superclass
  • Callback/Event handler - ผู้ใช้สามารถ override ได้แต่ไม่บังคับ
  • Template Method Pattern - เป็น hook method ที่ subclass อาจจะ override หรือไม่ก็ได้

ตัวอย่างการใช้งานจริง

abstract class Game { 
    // Hook method - subclass อาจ override หรือไม่ก็ได้
    protected void onGameStart() {} 
    protected void onGameEnd() {} 
    
    public final void play() { 
        onGameStart(); 
        // game logic...
        onGameEnd(); 
    } 
}

class Chess extends Game { 
    @Override 
    protected void onGameStart() { 
        System.out.println("Chess game started!"); 
    } 
    // onGameEnd() ไม่ override - ใช้ empty method จาก parent
}

ข้อควรระวัง

  • เมธอดว่างที่เป็น public อาจสับสนผู้ใช้ API ว่าควรทำอะไร
  • ควรเพิ่ม JavaDoc อธิบายวัตถุประสงค์ของเมธอดว่าง
  • หลีกเลี่ยงการทิ้งเมธอดว่างไว้โดยไม่มีคำอธิบายใน production code