การคิดเกี่ยวกับ polymorphism ใน Java3
ผู้คนมักจะสับสนกับคุณสมบัติอื่น ๆ ที่ไม่ใช่วัตถุของ Java เช่นวิธีการโอเวอร์โหลดซึ่งบางครั้งจะถูกนำเสนอเป็นวัตถุที่มุ่งเน้น อย่าหลงกล: ถ้ามันไม่ได้มีผลผูกพันช้ามันก็ไม่ใช่ความหลากหลาย
แปลตามข้อความ
ผู้คนมักจะสับสนกับคุณสมบัติที่ไม่ใช่วัตถุอื่นของ Java เช่นวิธีการโอเวอร์โหลด บางครั้งมันมีอยู่ในเชิงวัตถุ โปรดอย่าโง่ หากไม่มีการผูกมัดล่าช้า (นั่นคือการเชื่อมโยงแบบไดนามิกในระหว่างการรันไทม์) มันไม่ได้เป็น polymorphic
ดังนั้นสิ่งที่ข้อความนี้ต้องการที่จะแสดงคือความหลากหลายจะต้องมีการเชื่อมโยงแบบไดนามิกมิฉะนั้นมันไม่ใช่ polymorphism และวิธีการมากเกินไปไม่ใช่ polymorphism (เพราะวิธีการมากเกินไปจะถูกกำหนดในช่วงระยะเวลาการรวบรวมและไม่มีการเชื่อมโยงแบบไดนามิกในช่วงเวลาต่อมา
เมื่อเงื่อนไขทั้งสามนี้เป็นไปตาม 1. มีการสืบทอด 2. มีการแทนที่ 3. ต้องมีการอ้างอิงคลาสแม่ที่ชี้ไปที่วัตถุระดับเด็ก
<span style = "Font-Size: 14px;"> ตัวอย่าง: ที่อยู่คลาสสาธารณะ {ชื่อสตริงส่วนตัว; ที่อยู่สาธารณะ (ชื่อสตริง) {this.name = name;} public String getName () {ชื่อคืน;} public void setname (ชื่อสตริง) รถคลาสสาธารณะขยายยานพาหนะ {@Overridepublic Void Go (ที่อยู่) {System.out.println ("Car to" + address.getName ());}} ระนาบใช้คลาสพื้นฐาน: เครื่องบินระดับสาธารณะขยายยานพาหนะ {@Overridevoid Go (ที่อยู่ที่อยู่) ไดรฟ์ (ยานพาหนะ v) {/// polymorphism, การอ้างอิงคลาสหลักชี้ไปที่วัตถุ subclass และการส่งจริงเป็นคลาสย่อยของยานพาหนะคลาสนามธรรมหรือคลาสการใช้งานและคอมไพเลอร์จะค้นหาวิธีการใช้งานตามคลาสการใช้งานเฉพาะ V.GO (ที่อยู่ใหม่ ("หางโจว (บทคัดย่อ)")); /// วิธีนี้ถูกเขียนใหม่ในการใช้งานเฉพาะ} การทดสอบ: โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ไดร์เวอร์ d = ไดรเวอร์ใหม่ (); d.drive (ระนาบใหม่ ()); // มันเป็นวัตถุระนาบจริงแล้วคอมไพเลอร์จะพบการใช้งานของ Go in Plane, D.Drive (ใหม่ Car ()); // มันเป็นวัตถุรถยนต์จริง ๆ แล้วคอมไพเลอร์จะพบการใช้งานของ Go in Plane} ผลลัพธ์ผลลัพธ์: ระนาบไปยังหางโจว (นามธรรม) รถไปที่หางโจว (นามธรรม) </span>Polymorphism: หมายถึงสถานะที่แตกต่างกันของสิ่งเดียวกันเช่น: น้ำ น้ำสามารถมีสามรัฐ:
ก๊าซของเหลวและของแข็ง จากนั้นความหลากหลายในชวาก็สามารถเข้าใจได้ว่าเป็นความหมายนี้:
เทคนิคในการตั้งค่าวัตถุหลักให้เท่ากับวัตถุลูกอย่างน้อยหนึ่งรายการ
ตัวอย่างเช่น parent = child;
Polymorphism ช่วยให้การอ้างอิงของวัตถุในคลาสต่าง ๆ โดยใช้คลาสเดียวกัน (คลาสแม่)
และดำเนินการเดียวกันในรูปแบบที่แตกต่างกันขึ้นอยู่กับวัตถุที่อ้างอิง
การใช้งาน Polymorphic ประกอบด้วยสองวิธี: การโอเวอร์โหลดและการเขียนทับ
ตัวอย่างเช่น: Animal A = New Tiger (); นี่คือหัวข้อเก่า ๆ ฮ่าฮ่า ...
การอ้างอิงคลาสหลักชี้ไปที่วัตถุคลาสเด็ก คลาสสัตว์มีวิธีการกิน () และชั้นเสือสืบทอดมาจาก
คลาสสัตว์หากคลาสย่อยเขียนวิธี EAT () ของคลาสแม่จากนั้นเมื่อมีการเรียกคุณสามารถติดตามชั้นเด็กได้
การเรียกอย่างเป็นทางการของเป็นหลักวิธีการคลาสแม่ แต่หลังจากคลาสย่อยถูกเขียนใหม่มันจะกลายเป็นอีกวิธีหนึ่งซึ่งเป็น polymorphism
ข้างต้นคือการอภิปรายสั้น ๆ เกี่ยวกับแง่มุมของการดำเนินการของ Java polymorphism ส่วนใหญ่สะท้อนให้เห็น ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคนและสนับสนุน wulin.com เพิ่มเติม ~