polymorphism สามสาขา
- Ad hoc polymorphism คือเมื่อมีการใช้งานฟังก์ชั่นที่แตกต่างกันขึ้นอยู่กับจำนวนที่ จำกัด ของประเภทที่ระบุและการรวมกันของพารามิเตอร์อินพุต ตัวอย่างของ ad hoc polymorphism คือฟังก์ชั่นโอเวอร์โหลด
- Parametric polymorphism คือเมื่อโค้ดถูกเขียนโดยไม่มีการกำหนดประเภทและสามารถใช้กับชนิดต่าง ๆ ที่ระบุในภายหลัง ในการเขียนโปรแกรมเชิงวัตถุมักเรียกว่าการเขียนโปรแกรมทั่วไป
- การรวมหลายรูปแบบ หรือที่เรียกว่าการ พิมพ์ย่อย คือเมื่อชื่อเดียวสามารถอ้างถึงอินสแตนซ์ของคลาสต่าง ๆ จำนวนเท่าใดก็ได้ตราบใดที่พวกเขาแชร์ซูเปอร์คลาสเดียวกัน
ตัวอย่างความหลากหลายใน Java
รหัสตัวอย่าง
class OverloadedObject {void overloadedMethod (int a) {System.out.println ("วิธีการนี้เรียกว่าเมื่อพารามิเตอร์เป็นจำนวนเต็ม a =" + a); } void overloadedMethod (int a, int b) {System.out.println ("วิธีการนี้เรียกว่าเมื่อมีสองพารามิเตอร์และพวกเขาทั้งสองเป็นจำนวนเต็ม a =" + a + ", b =" + b); } void overloadedMethod (double a) {System.out.println ("วิธีการนี้เรียกว่าเมื่อมีหนึ่งพารามิเตอร์และเป็นตัวเลขที่มีความแม่นยำสองเท่า a =" + a); }} คลาส DemonstrateOverloading {โมฆะสาธารณะหลักคงที่ (String args []) {OverloadedObject myObj = ใหม่ OverloadedObject (); myObj.overloadedMethod (1); myObj.overloadedMethod (2, 3); myObj.overloadedMethod (4); }}
ตัวอย่างรหัสเอาท์พุท
วิธีการนี้เรียกว่าเมื่อพารามิเตอร์เป็นจำนวนเต็ม a = 1 วิธีนี้เรียกว่าเมื่อมีสองพารามิเตอร์และพวกเขาทั้งสองจำนวนเต็ม a = 2, b = 3 วิธีนี้เรียกว่าเมื่อพารามิเตอร์เป็นจำนวนที่มีความแม่นยำสองเท่า a = 4
โปรดสังเกตว่ามันสร้างเอาต์พุตที่แตกต่างกันตามพารามิเตอร์อินพุตที่ต่างกันแม้ว่าคลาสและชื่อเมธอดที่เรียกใช้จะเหมือนกันในแต่ละครั้ง
เชิงวัตถุ, เอาท์พุท, พารามิเตอร์, ไวรัส polymorphic, ภาษาการเขียนโปรแกรม, เงื่อนไขการเขียนโปรแกรม