Downcasting หมายถึงการคัดเลือกจากคลาสพื้นฐาน (หรืออินเทอร์เฟซ) ไปยังคลาสย่อยหรือคลาสลีฟ
ตัวอย่างของการดาวน์สตรีมอาจเป็นหากคุณส่งจากSystem.Object
ประเภทอื่น
Downcasting นั้นเป็นที่นิยมอาจจะเป็นกลิ่นรหัส: หลักคำสอนเชิงวัตถุนั้นต้องการที่จะยกตัวอย่างเช่นการกำหนดและการเรียกวิธีเสมือนหรือนามธรรมแทนที่จะเป็นการลดทอน
- หากมีกรณีใดบ้างเป็นกรณีการใช้งานที่เหมาะสมและเหมาะสมสำหรับการลดความเร็ว? นั่นคือในสถานการณ์ใดมันเป็นสิ่งที่เหมาะสมในการเขียนรหัสที่ downcasts?
- หากคำตอบของคุณคือ "none" ดังนั้นทำไมระบบ downcasting จึงรองรับภาษานี้
ToString
); ตัวอย่างอื่น ๆ ของมันคือ "Java container" เพราะ Java ไม่รองรับ generics (ซึ่ง C # ทำ) stackoverflow.com/questions/1524197/downcast-and-upcastกล่าวว่าสิ่งที่ downcasting เป็นแต่ไม่มีตัวอย่างของเมื่อมันเหมาะสม
before Java had support for generics
because Java doesn't support generics
และ amon ก็ให้คำตอบกับคุณ - เมื่อระบบประเภทที่คุณทำงานด้วยนั้นเข้มงวดเกินไปและคุณไม่สามารถเปลี่ยนได้