สิ่งตีพิมพ์ในหัวข้อ 'polymorphism'
ความแตกต่างใน C #: การทำความเข้าใจกับตัวอย่าง
Polymorphism เป็นแนวคิดพื้นฐานในการเขียนโปรแกรมเชิงวัตถุที่ช่วยให้วัตถุประเภทต่างๆ ถือเป็นวัตถุประเภทฐานทั่วไป ช่วยให้อินเทอร์เฟซเดียวเพื่อแสดงการใช้งานที่เป็นรูปธรรมหลายอย่าง โดยให้ความยืดหยุ่นและความสามารถในการขยายในการออกแบบโค้ด ในบทความนี้ เราจะสำรวจแนวคิดเรื่องความหลากหลายใน C# ผ่านตัวอย่างต่างๆ เพื่อทำความเข้าใจการประยุกต์ใช้ในทางปฏิบัติได้ดียิ่งขึ้น
1. ความแตกต่างกับมรดก:
โดยทั่วไปความหลากหลายจะเกิดขึ้นได้จากการสืบทอด โดยที่คลาสที่ได้รับมาสามารถใช้เป็นอินสแตนซ์ของคลาสพื้นฐานได้..
ปลดปล่อย Python Polymorphism Playground: ที่ที่วัตถุเต้นและรูปร่างเปลี่ยนไป!
คุณกำลังดำดิ่งสู่การเขียนโปรแกรม Python และคุณได้พบกับสิ่งที่น่าสนใจที่เรียกว่า "ความหลากหลาย" อาจฟังดูหรูหรา แต่เชื่อฉันเถอะ มันไม่ซับซ้อนอย่างที่คิด Polymorphism เป็นเรื่องของความยืดหยุ่นและการนำกลับมาใช้ซ้ำได้ในโค้ดของเรา มาดำดิ่งและไขปริศนาไปด้วยกัน
ความแตกต่างคืออะไร? ความหลากหลายทำให้เราสามารถปฏิบัติต่อวัตถุที่แตกต่างกันราวกับว่าพวกมันอยู่ในตระกูลเดียวกัน แม้ว่าจะมีคุณลักษณะเฉพาะที่แตกต่างกันก็ตาม คิดว่านี่เป็นวิธีการใช้อินเทอร์เฟซทั่วไปเพื่อดำเนินการต่างๆ..
คำถามในหัวข้อ 'polymorphism'
ความหลากหลายประเภททั่วไป
public class A {}
public class B : A {}
ตอนนี้วิธีที่ดีที่สุดในการทำงานนี้คืออะไร
List<A> a;
List<B> b = new List<B>();
a = b; // throw Cannot convert List<B> to List<A>
ขอบคุณ
676 มุมมอง
schedule
27.10.2023
จะยอมรับตัววนซ้ำทั่วไปได้อย่างไร
ฉันต้องการให้ Constructor ยอมรับตัววนซ้ำใด ๆ ที่มีลักษณะ x และอ้างอิงคลาส y
Class(std::iterator<std::random_access_iterator_tag, MyClass*> it);
แต่เมื่อฉันพยายามส่งตัววนซ้ำ การคอมไพล์ล้มเหลวด้วย Candidate constructor not viable: no...
323 มุมมอง
schedule
03.11.2023
Gwt ขอโรงงาน ข้อมูลทั่วไปและการสืบทอดทางฝั่งไคลเอ็นต์
ฉันกำลังพยายามเขียนคลาสทั่วไปเพื่อหลีกเลี่ยงการใช้โค้ดซ้ำ ฉันต้องการมีวิธีทั่วไปสำหรับ:
รับเอนทิตี/โมเดลจากเซิร์ฟเวอร์ด้วยรหัส
รับรายการเอนทิตี/โมเดลทั้งหมดจากเซิร์ฟเวอร์
ส่งไปยังเซิร์ฟเวอร์และบันทึกใน db Entity/Model
ควรใช้ได้กับคลาส...
240 มุมมอง
schedule
27.12.2023
การออกแบบ Java: การเพิ่มฟังก์ชันการทำงานทั่วไปให้กับคลาสที่ขยายคลาสพื้นฐานเดียวกัน โดยไม่ต้องแก้ไขคลาสพื้นฐาน
ฉันกำลังพยายามหาวิธีแก้ไขปัญหานี้ให้ดีที่สุดในโครงการที่ฉันกำลังทำอยู่ ฉันจะให้การเปรียบเทียบปัญหา:
มีคลาส รถยนต์ จาก รถยนต์ ฉันสร้าง 3 คลาสที่ขยายมัน:
รถลิมูซีน ขยาย รถยนต์
รถบรรทุก ขยาย รถยนต์
รถบัส ขยาย รถยนต์...
174 มุมมอง
schedule
24.11.2023
การสร้างเลนส์โพลีมอร์ฟิก
ฉันสามารถสร้างเลนส์สำหรับฟิลด์สุดท้าย ( c ) ในประเภทข้อมูลของฉันได้โดยทำดังนี้:
{-# LANGUAGE DuplicateRecordFields #-}
data X1 a c = X1 { a' :: a, b' :: Int, c' :: c }
data X2 a b c = X2 { a' :: a, b' :: b, c' :: c }
class HavingFieldC x cs ct...
232 มุมมอง
schedule
27.10.2023
ทางเลือกอื่นในการใช้ instanceof ในกรณีนี้?
ดังนั้นในสถานการณ์ที่กำหนดนี้ ฉันไม่แน่ใจว่าจะนำสิ่งนี้ไปใช้ด้วยวิธี OOP มากกว่านี้ได้อย่างไร
ด้วยบริบทดังต่อไปนี้:
เกมของฉันมีเอนทิตีระดับซูเปอร์คลาส
สิ่งมีชีวิต (เอนทิตีที่เคลื่อนไหว) และเอนทิตีแบบคงที่ (ต้นไม้/หิน/อื่นๆ) ขยายเอนทิตี...
206 มุมมอง
schedule
03.11.2023
เรียกเมธอดคลาสที่ได้รับจากลูปรายการตัวชี้ฐาน (OOD)
ปัญหา
ฉันประสบปัญหาง่ายๆ แม้ว่าฉันไม่สามารถหา OOD ที่เหมาะสมสำหรับมันได้
สิ่งที่ฉันมี:
คลาสพื้นฐาน
คลาสย่อยเพิ่มวิธีการใหม่ foo()
รายการพอยน์เตอร์ไปยังอินสแตนซ์คลาสฐาน
สิ่งที่ฉันต้องการ:
ฉันต้องวนซ้ำรายการนี้และเรียก...
103 มุมมอง
schedule
05.12.2023
เข้าถึงคุณสมบัติที่ซ่อนอยู่ผ่านคลาสพื้นฐาน c#
ใน ASP.NET Core API ของฉัน ฉันมีคลาส DTO BaseBDto และอีก DerivedBDto ที่สืบทอดมาจากคลาสนั้น และซ่อนคุณสมบัติบางอย่างไว้ เนื่องจากจำเป็นใน DerivedBDto คุณสมบัติของ BaseBDto และ DerivedBDto เป็นอ็อบเจ็กต์ของคลาสอื่น BaseADto และ...
116 มุมมอง
schedule
22.12.2023
วิธีหยุดการเรียกใช้อ็อบเจ็กต์คลาสลูกจากคลาสพาเรนต์ แม้ว่าเมธอดเดียวกันจะอยู่ในคลาสลูกด้วยก็ตาม
ฉันมีวัตถุประเภท ElectronicProduct ซึ่งขยายผลิตภัณฑ์ ฉันพยายามเรียกใช้เมธอด loadFromFile() จากภายในคลาสลูก โดยให้ชื่อและประเภทอาร์กิวเมนต์ที่แน่นอน แต่วัตถุคลาสลูกกลับเรียกใช้ loadFromFile() จากคลาสพาเรนต์แทน ฉันจะหยุดสิ่งนี้ได้อย่างไร...
43 มุมมอง
schedule
17.11.2023