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?

Ryan Stull
sumber
"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.

fxfour
sumber
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