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

ความหลากหลายในภาษาชวา


Polymorphism คือความสามารถของวัตถุในหลายรูปแบบ การใช้พหุสัณฐานที่พบบ่อยที่สุดใน OOP เกิดขึ้นเมื่อการอ้างอิงคลาสพาเรนต์ใช้เพื่ออ้างถึงอ็อบเจ็กต์คลาสย่อย

ออบเจ็กต์ Java ใดๆ ที่สามารถผ่านการทดสอบ IS-A ได้มากกว่าหนึ่งรายการจะถือว่าเป็นแบบพหุมอร์ฟิค ใน Java ออบเจ็กต์ Java ทั้งหมดเป็นแบบโพลีมอร์ฟิค เนื่องจากอ็อบเจ็กต์ใดๆ จะผ่านการทดสอบ IS-A สำหรับประเภทของตัวเองและสำหรับ Object ของคลาส

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

ตัวแปรอ้างอิงสามารถกำหนดใหม่ให้กับอ็อบเจ็กต์อื่นได้หากไม่ได้ประกาศเป็นขั้นสุดท้าย ประเภทของตัวแปรอ้างอิงจะเป็นตัวกำหนดวิธีการที่มันสามารถเรียกใช้บนวัตถุได้

ตัวแปรอ้างอิงสามารถอ้างถึงวัตถุใด ๆ ของประเภทที่ประกาศหรือประเภทย่อยของประเภทที่ประกาศ ตัวแปรอ้างอิงสามารถประกาศเป็นคลาสหรือประเภทอินเตอร์เฟสได้

ตัวอย่าง

เรามาดูตัวอย่างกัน

public                  interface                             Vegetarian{}
public                     class                                  Animal{}
public class Deer extends Animal implements Vegetarian{}

ในตอนนี้ คลาส Deer ถือเป็นพหุสัณฐานเนื่องจากมีการสืบทอดหลายแบบ ต่อไปนี้เป็นความจริงสำหรับตัวอย่างข้างต้น -

  • กวางคือสัตว์
  • กวางคือมังสวิรัติ
  • กวางก็คือกวาง
  • กวางคือวัตถุ

เมื่อเราใช้ข้อมูลตัวแปรอ้างอิงกับการอ้างอิงอ็อบเจกต์ Deer การประกาศต่อไปนี้ถือเป็นกฎหมาย -

ตัวอย่าง

Deer            d               =         new                      Deer();
Animal          a               =                                       d;
Vegetarian      v               =                                       d;
Object          o               =                                       d;

ตัวแปรอ้างอิงทั้งหมด d, a, v, o อ้างถึงอ็อบเจกต์ Deer เดียวกันในฮีป