ทีนี้เลยเกิดคำถามว่า แล้วถ้าต้องการแก้ไขคุณสมบัติบางอย่าง ไม่ต้องให้ทำงานเหมือนกับใน 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น