บทความนี้อธิบายถึงความหลากหลายของการเขียนโปรแกรมเชิงวัตถุใน Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
Polymorphism: คุณสมบัติที่มีความสามารถในการแสดงหลายรูปแบบ (อินเทอร์เฟซการใช้งานเดียวกันใช้อินสแตนซ์ที่แตกต่างกันเพื่อดำเนินการที่แตกต่างกัน)
ข้อดีของการใช้ polymorphism: เพื่ออำนวยความสะดวกในการโทรแบบครบวงจร!
สามวิธีในการบรรลุความหลากหลาย!
1. การแปลงจากคลาสย่อยเป็นคลาสแม่:
ตัวอย่าง:
Dog Dog = สุนัขตัวใหม่ ("euo", "Schnauzer"); dog.eat (); สัตว์เลี้ยงสัตว์เลี้ยง = สุนัขตัวใหม่ ("euoo", "Schnauzer"); // การแปลงจากคลาสย่อยเป็น Peter Class Pet.eat (); Pet.CatchingFlydisc (); // การรวบรวมข้อผิดพลาดกฎ:
①ชี้การอ้างอิงไปยังคลาสเด็กไปยังวัตถุที่เรียกว่าการแปลงสูงขึ้นและทำการแปลงประเภทโดยอัตโนมัติ
②วิธีการที่เรียกโดยตัวแปรอ้างอิงผ่านคลาสแม่คือคลาสเด็กที่เอาชนะหรือสืบทอดวิธีการของคลาสแม่ไม่ใช่วิธีการของคลาสแม่
③ในเวลานี้วิธีที่ไม่ซ้ำกับคลาสย่อยไม่สามารถเรียกได้โดยการอ้างอิงตัวแปรผ่านคลาสแม่!
2. ใช้คลาสแม่เป็นวิธีการพารามิเตอร์อย่างเป็นทางการเพื่อใช้ polymorphism
มาสเตอร์คลาสสาธารณะ {ชื่อสตริงส่วนตัว = ""; เงินส่วนตัว INT = 0; อาจารย์สาธารณะ (ชื่อสตริง, เงิน int) {this.name = name; this.money = เงิน; } ฟีดโมฆะสาธารณะ (สัตว์เลี้ยงสัตว์เลี้ยง) {pet.eat (); } ฟีดโมฆะสาธารณะ (สุนัขสุนัข) {dog.eat (); } ฟีดโมฆะสาธารณะ (ปากกาเพนกวิน) {pen.eat (); }} การทดสอบคลาสสาธารณะ () {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {มาสเตอร์มาสเตอร์ = อาจารย์ใหม่ ("Mr. Wang", 100); สัตว์เลี้ยงสัตว์เลี้ยง = สุนัขตัวใหม่ ("ยูโร", "Schnauzer"); Master.Feed (สัตว์เลี้ยง); -3. ใช้คลาสหลักเป็นค่าคืนวิธีเพื่อให้ได้ polymorphism
มาสเตอร์คลาสสาธารณะ {ชื่อสตริงส่วนตัว = ""; เงินส่วนตัว INT = 0; PET PET GETPET (ID int) {PET PET = NULL; if (id == 1) {pet = สุนัขใหม่ ("ยุโรป", "Schnauzer")} อื่นถ้า (id == 2) {PET = เพนกวินใหม่ ("Nana", "Emperor Penguin"); } คืนสัตว์เลี้ยง; -สังเกต:
①การดำรงอยู่ของการสืบทอด (การสืบทอดเป็นพื้นฐานของความหลากหลายโดยไม่มีมรดกไม่มีความหลากหลาย)
②วิธีการเขียนคลาสย่อยใหม่
③คลาสแม่อ้างอิงตัวแปรตัวแปรไปยังวัตถุย่อย
สำหรับเนื้อหาที่เกี่ยวข้องกับ Java ผู้อ่านที่สนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "บทนำและการสอนขั้นสูงเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ Java", "การสอนเกี่ยวกับโครงสร้างข้อมูล Java และอัลกอริทึม" สรุปการดำเนินงานของ Java
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน