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

Covariant return types ใน Java


ประเภทการส่งคืน Covariant หมายถึงประเภทการส่งคืนของวิธีการแทนที่ อนุญาตให้จำกัดประเภทการส่งคืนของวิธีการที่ถูกแทนที่โดยไม่จำเป็นต้องส่งประเภทหรือตรวจสอบประเภทการส่งคืน ประเภทผลตอบแทนร่วมใช้ได้กับประเภทผลตอบแทนที่ไม่ใช่แบบดั้งเดิมเท่านั้น

จาก Java 5 เป็นต้นไป เราสามารถแทนที่เมธอดโดยการเปลี่ยนประเภทการส่งคืนโดยปฏิบัติตามเงื่อนไขที่ประเภทการส่งคืนเป็นคลาสย่อยของประเภทการส่งคืนเมธอดที่ถูกแทนที่

ตัวอย่างต่อไปนี้แสดงให้เห็นเช่นเดียวกัน

ตัวอย่าง

class SuperClass {
   SuperClass get() {
      System.out.println("SuperClass");
      return this;
   }
}
public class Tester extends SuperClass {
   Tester get() {
      System.out.println("SubClass");
      return this;
   }
   public static void main(String[] args) {
      SuperClass tester = new Tester();
      tester.get();
   }
}

ผลลัพธ์

Subclass