2025 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2025-01-22 17:43
ใช่ รองรับการสืบทอด Swift และ Objective-c Single และ Multilevel รวดเร็วและหลายภาษา มรดกหลายอย่าง ถูก จำกัด ด้วยการใช้คลาสเนื่องจากปัญหาทางประวัติศาสตร์เช่นเพชรมรณะและความกำกวมอื่น ๆ คุณสามารถบรรลุ มรดกหลายอย่าง ในระดับหนึ่งโดยโปรโตคอล
ในเรื่องนี้ฉันจะสืบทอดคลาสใน Swift ได้อย่างไร
มรดก เป็นพฤติกรรมพื้นฐานที่สร้างความแตกต่าง ชั้นเรียน จากประเภทอื่นใน Swift.
เพื่อระบุว่าคลาสย่อยมีซูเปอร์คลาส ให้เขียนชื่อคลาสย่อยก่อนชื่อซูเปอร์คลาส โดยคั่นด้วยโคลอน:
- คลาส SomeSubclass: SomeSuperclass {
- // นิยามคลาสย่อยอยู่ที่นี่
- }
รู้ยัง มรดกมีกี่ประเภท ? ประเภทของมรดก ใน C ++ หลายรายการ มรดก . ลำดับชั้น มรดก . หลายระดับ มรดก . ไฮบริด มรดก (เรียกอีกอย่างว่า Virtual มรดก )
นอกจากนี้ คลาสสุดท้ายใน Swift คืออะไร?
คลาสสุดท้าย . Swift ทำให้เรา สุดท้าย คีย์เวิร์ดเพียงเพื่อจุดประสงค์นี้: เมื่อคุณประกาศ a ระดับ ในฐานะที่เป็น สุดท้าย ,ไม่มีอื่นๆ ระดับ สามารถสืบทอดจากมันได้ ซึ่งหมายความว่าพวกเขาไม่สามารถแทนที่วิธีการของคุณเพื่อเปลี่ยนพฤติกรรมของคุณ – พวกเขาจำเป็นต้องใช้ของคุณ ระดับ วิธีเขียน
สวิฟท์บรรลุมรดกหลายอันได้อย่างไร?
Swift ไม่อนุญาตให้เราประกาศคลาสกับ หลายรายการ คลาสพื้นฐานหรือซูเปอร์คลาส ดังนั้นจึงไม่มีการรองรับสำหรับ หลายมรดก ของชั้นเรียน คลาสย่อยสามารถ สืบทอด จากชั้นเรียนเดียว อย่างไรก็ตาม คลาสสามารถสอดคล้องกับโปรโตคอลตั้งแต่หนึ่งโปรโตคอลขึ้นไป