ตัวอย่างของบทความนี้บอกความหลากหลายใน Java แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
Polymorphism เป็นคุณลักษณะหลักของภาษาการเขียนโปรแกรมเชิงวัตถุ บรรจุภัณฑ์และมรดกค่อนข้างง่ายดังนั้นจึงมีเพียงโน้ตเล็ก ๆ สำหรับความหลากหลายที่นี่ แก่นแท้ แก่นแท้
1. หลายรัฐคืออะไร?
Polymorphism หมายความว่าวัตถุสามารถมีหลายลักษณะและในบางกรณีสถานะที่แตกต่างกันสามารถแสดงเพื่อรับมือกับคุณลักษณะและวิธีการที่แตกต่างกัน ใน Java polymorphism หมายถึงการใช้อินเทอร์เฟซการใช้งานเดียวกันเพื่อให้ได้อินสแตนซ์ของวัตถุที่แตกต่างกัน
ตัวอย่างเช่นเรากำหนดคลาสแม่จากนั้นกำหนดวิธี getName () เพื่อส่งคืนสตริงกำหนดวิธีการสมาชิกของวิธีการสมาชิกประเภทหลัก, dosomething (parent obj) และเรียก obj.getName () ในเรื่องนี้ วิธี. จากนั้นกำหนดสองคลาส A และ B ซึ่งสืบทอดมาจากคลาสหลักและเขียนเมธอด getName () ใหม่ในคลาสย่อย ในที่สุดสร้างวัตถุ OBJP ในวิธีการหลักโทรหาวิธี objp.dosomething () และส่งผ่านคลาส A และคลาส B สำหรับการอ้างอิง สังเกตผลลัพธ์ผลลัพธ์
ชั้นเรียน {สตริงส่วนตัวชื่อ = "parent"; สตริงสาธารณะ getName () {return this.name;} โมฆะสาธารณะ dosomething (parent obj) {// ชื่อคลาสเอาท์พุท System.ou t.println (obj.getName ()); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ทาสี objp = ใหม่สี (); objp.dosomething (ใหม่ A ()); ); .Name;}} คลาส B ขยายพาเรนต์ {ชื่อสตริงส่วนตัว = "คลาส B";
จะเห็นได้ว่าวิธีการ Dosomething ของคลาสแม่เรียกวิธี getName ของวัตถุที่เราผ่านโดย polymorphism ไม่ใช่วิธี getName ของคลาสแม่
2. อินเทอร์เฟซใน Java
อินเทอร์เฟซใน Java เป็นชุดของวิธีการ อินเทอร์เฟซมีลักษณะเฉพาะของวิธีการเท่านั้นและไม่มีวิธีการใช้งาน วิธีการเหล่านี้สามารถนำไปใช้ที่อื่นผ่านคลาสเฉพาะ ใน Java ให้ใช้อินเทอร์เฟซคำหลักเพื่อประกาศอินเทอร์เฟซ
ใช้อินเทอร์เฟซเพื่อให้ได้อินสแตนซ์ polymorphism:
ชื่ออินเตอร์เฟส {// เท่านั้นที่ประกาศว่าไม่ทราบว่าสตริงสาธารณะ getName (); () {return name;}} คลาส B ใช้ชื่อ {private string name = "class b"; () {return name;} public static void main (string [] args) {ชื่อ obj = ew a ();
จะเห็นได้ว่าชื่อคลาส A ถูกพิมพ์
PS: หากคลาสไม่ได้ใช้วิธีการทั้งหมดในอินเทอร์เฟซคลาสนี้จะต้องประกาศว่าเป็นนามธรรม คลาสนามธรรมไม่อนุญาตให้มีวัตถุอินสแตนซ์
หวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน