Ciri, Warisan dan Antarmuka di Groovy, kapan menggunakannya?


10

Saya belajar asyik dan saya baru saja belajar tentang fitur baru yang ditambahkan pada 2.3, yang merupakan penambahan Ciri . Sekarang bagi saya sepertinya Ciri memungkinkan Anda untuk melakukan pada dasarnya segala sesuatu yang dapat dilakukan oleh kelas-super dan Antarmuka.

Apakah penambahan Ciri pada Groovy membuat Warisan dan Antarmuka menjadi usang?

Dan jika tidak, lalu kapan waktu terbaik untuk menggunakan masing-masing mekanisme ini?



"groovy dan saya baru saja belajar tentang fitur baru yang ditambahkan pada 2.3, yang merupakan tambahan dari Ciri-ciri" - Ciri pertama kali ditambahkan pada pra-2.0 Groovy melalui addon AST yang disebut penguat Groovy ++, lihat code.google.com/p / groovypptest / wiki / Traits
Vorg van Geir

Anda harus benar-benar membaca dokumen tentang sifat-sifat. Tidak ada jawaban yang diberikan di sini yang akan lengkap tanpa menyebutkan semua dokumen yang dibicarakan oleh para doktor; Anda terutama harus memperhatikan bagian 13 - akhir
smac89

Jawaban:


4

Ciri-ciri menggabungkan yang terbaik dari kedua dunia - warisan kelas (abstrak) dan implementasi antarmuka. Suatu sifat dapat berisi implementasi standar metode dan tipe dapat mengimplementasikan beberapa sifat sekaligus. Ini memungkinkan beberapa jenis pewarisan berganda, tetapi dengan cara yang baik, menghindari intan kematian yang mematikan .

Jika Anda tidak tahu bagaimana memulainya, gunakan sifat. Anda mendapatkan fleksibilitas dan dapat beralih ke antarmuka atau warisan kelas nanti jika diperlukan.


3
Di antarmuka Anda dapat menentukan metode default, jadi apa perbedaan logisnya?
Gilad Baruchian

saya juga bingung dengan perbedaan antara ciri-ciri dan metode standar antarmuka. Saya hanya dapat mengasumsikan sifat groovy diperkenalkan lebih awal daripada metode default di java
olyv

Sebuah sifat memungkinkan Anda untuk mendefinisikan bidang biasa, bukan hanya bidang statis karena antarmuka java membatasi Anda untuk
smac89

Jika Anda bingung tentang sifat-sifat, baca dokumen . Mereka sangat informatif
smac89

1
@ smac89, terima kasih, itu sangat membantu!
olyv
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.