ลักษณะการสืบทอดและการเชื่อมต่อใน Groovy เมื่อใดจึงควรใช้


10

ฉันเรียนรู้ Groovy และฉันได้เรียนรู้เพียงเกี่ยวกับคุณลักษณะใหม่ที่เพิ่มเข้ามาใน 2.3 ซึ่งเป็นนอกเหนือจากลักษณะ ตอนนี้สำหรับฉันดูเหมือนว่าลักษณะช่วยให้คุณสามารถทำทุกสิ่งที่ซุปเปอร์คลาสและอินเทอร์เฟซสามารถทำได้

การเพิ่มคุณสมบัติไปยัง Groovy ทำให้การสืบทอดและการเชื่อมต่อล้าสมัยหรือไม่

และถ้าไม่เช่นนั้นเวลาที่ดีที่สุดในการใช้กลไกเหล่านี้คืออะไร?



"groovy และฉันเพิ่งเรียนรู้เกี่ยวกับคุณสมบัติใหม่ที่เพิ่มเข้ามาใน 2.3 ซึ่งเป็นการเพิ่มคุณสมบัติ" - คุณลักษณะถูกเพิ่มเข้าไปใน pre-2.0 Groovy ผ่านทาง AST addon ที่เรียกว่า Groovy ++ booster ดูที่code.google.com/p / groovypptest / wiki / Traits
Vorg van Geir

คุณควรอ่านเอกสารเกี่ยวกับคุณลักษณะ ไม่มีคำตอบให้ที่นี่จะสมบูรณ์โดยไม่เอ่ยถึงทุกสิ่งที่เอกสารเหล่านั้นพูดถึง คุณควรให้ความสนใจเป็นพิเศษกับหัวข้อที่ 13 - สิ้นสุด
smac89

คำตอบ:


4

ลักษณะรวมสิ่งที่ดีที่สุดของทั้งสองโลก - การสืบทอดของคลาส (นามธรรม) และการใช้อินเทอร์เฟซ ลักษณะสามารถมีการใช้งานเริ่มต้นของวิธีการและประเภทสามารถใช้หลายลักษณะพร้อมกัน นี้จะช่วยให้ชนิดของมรดกหลายบาง แต่ในทางที่ดีหลีกเลี่ยงเพชรร้ายแรงของการเสียชีวิต

หากคุณไม่ทราบวิธีการเริ่มต้นให้ใช้คุณลักษณะ คุณมีความยืดหยุ่นและสามารถสลับไปใช้อินเทอร์เฟซหรือการสืบทอดคลาสได้ในภายหลังหากจำเป็น


3
ในอินเทอร์เฟซคุณสามารถกำหนดวิธีการเริ่มต้นดังนั้นอะไรคือความแตกต่างตรรกะ
Gilad Baruchian

ฉันสับสนกับความแตกต่างระหว่างลักษณะและวิธีการเริ่มต้นของอินเตอร์เฟส ฉันสามารถสันนิษฐานได้ว่าลักษณะเป็น Groovy ถูกนำมาใช้ก่อนหน้านี้กว่าวิธีการเริ่มต้นใน java
34719

ลักษณะช่วยให้คุณสามารถกำหนดเขตข้อมูลปกติไม่เพียง แต่เขตข้อมูลคงที่เป็นอินเตอร์เฟซของจาวา จำกัด คุณ
smac89

หากคุณกำลังสับสนเกี่ยวกับลักษณะการอ่านเอกสาร พวกเขามีข้อมูลมาก
smac89

1
@ smac89 ขอบคุณนั่นเป็นประโยชน์จริงๆ!
olyv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.