ตัวอย่างในบทความนี้อธิบายแนวคิดของการแปลงอ็อบเจ็กต์ Java และแบ่งปันกับคุณเพื่อเป็นข้อมูลอ้างอิง วิธีการเฉพาะมีดังนี้:
หมายเหตุเกี่ยวกับการหล่อวัตถุ (การหล่อ) มีดังนี้:
1. ตัวแปรประเภทการอ้างอิงของคลาสฐานสามารถ "ชี้" ไปยังอ็อบเจ็กต์ของคลาสย่อยได้
2. การอ้างอิงถึงคลาสฐานไม่สามารถเข้าถึงสมาชิกที่เพิ่มใหม่ (คุณสมบัติและวิธีการ) ของอ็อบเจ็กต์คลาสย่อย
3. คุณสามารถใช้อินสแตนซ์ตัวแปรอ้างอิงของชื่อคลาสเพื่อตรวจสอบว่าวัตถุ "ชี้ไปที่" โดยตัวแปรอ้างอิงเป็นของคลาสนี้หรือคลาสย่อยของคลาสนี้
4. อ็อบเจ็กต์ของคลาสย่อยสามารถใช้เป็นอ็อบเจ็กต์ของคลาสฐานได้ ซึ่งเรียกว่า upcasting และในทางกลับกันเรียกว่า downcasting
รหัสการใช้งานเฉพาะมีดังนี้:
TestCasting คลาสสาธารณะ { โมฆะสาธารณะหลัก (String args []) { สัตว์ สัตว์ = สัตว์ใหม่ ("ชื่อ"); แมว แมว = แมวใหม่ ("catName", "blueColor"); ,"YellowColor"); System.out.println (ตัวอย่างสัตว์ของสัตว์); System.out.println (อินสแตนซ์ของแมว); //System.out.println (ตัวอย่างสัตว์ของแมว); // ข้อผิดพลาดสัตว์ = สุนัขใหม่ ("dogAnimal", "dogColor"); System.out.println (animal.name); //System.out.println (animal .forColor); // error System.out.println (ตัวอย่างสัตว์ของ Animal); System.out.println (ตัวอย่างสัตว์ของ Dog); System.out.println(d1.forColor); }}คลาส Animal{ public String name; public Animal(String name){ this.name = name; }}คลาส Cat ขยาย Animal{ public String name; String eyeColor) { super (ชื่อ); this.eyeColor = eyeColor; }} คลาส Dog ขยาย Animal { public String forColor; public Dog (ชื่อ String, String forColor) { super (ชื่อ); this.forColor = forColor; }}
ผลการวิ่งแสดงในรูปด้านล่าง:
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบการเขียนโปรแกรม Java ของทุกคน