Saya akan mempelajari tutorial iOS dari halaman pengembang Apple .
Menurut saya itu protocol
dan interface
hampir memiliki fungsi yang sama.
Apakah ada perbedaan di antara keduanya?
perbedaan penggunaan dalam proyek?
Diperbarui
Ya , saya memang membaca tautan di atas dan saya masih tidak yakin apa perbedaan dan penggunaan antara protocol
dan interface
. Ketika saya mengajukan pertanyaan seperti ini, saya ingin melihat penjelasan sederhana tentang topik tersebut. Terkadang sulit untuk mendapatkan semuanya dari dokumentasi.
Jawaban:
Pada dasarnya protokol sangat mirip dengan antarmuka Java kecuali untuk:
.
Ini adalah perbedaan langsung yang jelas untuk pengembang Java (atau setidaknya apa yang saya lihat sejauh ini).
sumber
default
kata kunci . Lihat Tutorial Oracle .Melengkapi jawaban @Thomas Schar. Magic protokol Swift berasal dari ekstensi.
2). Antarmuka Java 8 dapat memiliki implementasi standar, tetapi tidak dapat dilakukan "secara surut."
implementasinya jika perlu) ke kelas atau struktur apa pun.
"sudut braket kebutaan" dalam beberapa kasus.
Satu hal yang membuat saya menggaruk-garuk kepala selama beberapa jam adalah tidak semua protokol dapat digunakan sebagai tipe properti. Misalnya, jika Anda memiliki protokol dengan typealias, Anda tidak dapat langsung menggunakannya sebagai jenis properti (masuk akal ketika Anda memikirkannya, tetapi berasal dari Jawa kami benar-benar ingin memiliki properti seperti userDao: IDao).
sumber
required
sebelum fungsi dalam protokol, Anda hanya mendapatkan'required' may only be used on 'init' declarations
...