สนับสนุนโดย

วันพฤหัสบดีที่ 29 พฤศจิกายน พ.ศ. 2561

override method คืออะไร ใช้ยังไง มาดูกัน

ปกติแล้วเวลาที่เราสร้าง class มาสักอัน แล้วทำการสืบทอดกันต่อไปอีกที class ลูกก็จะได้คุณสมบัติต่างๆ ตามไปด้วย (ยกเว้นสิ่งที่เป็น private เท่านั้น)



ทีนี้เลยเกิดคำถามว่า แล้วถ้าต้องการแก้ไขคุณสมบัติบางอย่าง ไม่ต้องให้ทำงานเหมือนกับใน class แม่จะทำได้ยังไง คำตอบก็คือ ใช้การ override ครับ เรียกว่า เขียนทับนั่นเอง

เช่น

คลาสแม่มี method save() แต่พอสืบทอดมา อยากให้มันทำงานต่างออกไป ทางคลาสลูกเองก็สร้าง method save() ได้เช่นเดียวกัน แต่ต้องให้มีชื่อ และการ return, parameter ที่เหมือนกัน กับของคลาสแม่ มันจึงจะถือว่าเป็นการทับความสามารถ

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

public class OverrideExample {
    public static void main(String[] args) {
        JBook j = new JBook();
        j.save();
    }
}

class EBook {
    void save() {
        System.out.println("EBook save");
    }
}

class JBook extends EBook {
    void save() {
        System.out.println("JBook save");
    }
}

ผลการทำงาน
JBook save

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

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