Swift Academy · Pelajaran

Gubahan Protokol dengan &

Gabungkan beberapa protokol menjadi satu keperluan jenis.

Pelajaran 1 daripada 412 langkah

Gubahan Protokol dengan & ialah pelajaran Swift Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Swift Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Selamat Datang

Komposisi protokol membolehkan anda menggabungkan beberapa protokol menjadi satu keperluan jenis menggunakan `&`. Ini ialah jawapan Swift kepada pewarisan berbilang.

Komposisi Asas

```swift protocol Named { var name: String { get } } protocol Aged { var age: Int { get } } func describe(_ entity: Named & Aged) { print("\(entity.name) is \(entity.age)") } ``` `Named & Aged` ialah keperluan jenis sementara, bukannya protokol baharu.

Menggunakan dalam Parameter Fungsi

```swift protocol Drawable { func draw() } protocol Animatable { func animate() } func render(_ view: Drawable & Animatable) { view.draw() view.animate() } ```

Menyimpan Jenis yang Digabungkan

```swift var entity: Named & Aged = makePerson() entity.name // accessible entity.age // accessible ``` Jenis pemboleh ubah mengehadkan ahli protokol yang boleh dicapai.

Komposisi dengan Kelas

```swift protocol Configurable { func configure() } func setup(_ vc: T) { vc.configure() present(vc, animated: true) } ``` Gabungkan keperluan kelas dengan protokol menggunakan `&` dalam generik.

Komposisi Protokol berbanding Protokol Baharu

```swift // Don't create a new protocol just to combine: protocol NamedAndAged: Named, Aged {} // often unnecessary // Prefer inline composition at use sites: func describe(_ e: Named & Aged) { } ``` Protokol baharu hanya wajar digunakan apabila gabungan tersebut memerlukan kaedah sambungan.

typealias untuk Komposisi Panjang

```swift typealias Service = Authenticable & Cacheable & Loggable func process(service: Service) { service.authenticate() service.log("processing") } ``` Gunakan `typealias` untuk menamakan komposisi yang kerap digunakan.

Komposisi dalam Kekangan Generik

```swift func fetchAndCache(_ resource: T) async throws { let data = try await resource.fetch() resource.cache(data) } ```

Pewarisan Protokol berbanding Komposisi

• Pewarisan: `protocol C: A, B {}` — C mewarisi semua keperluan A dan B • Komposisi: `A & B` — sebaris, tanpa jenis baharu Gunakan pewarisan apabila semua jenis yang mematuhi protokol mesti memenuhi kedua-duanya; gunakan komposisi di tapak panggilan.

Contoh Dunia Sebenar: Perwakilan + DataSource

```swift func setup(_ vc: UITableViewDelegate & UITableViewDataSource) { tableView.delegate = vc tableView.dataSource = vc } ``` Satu pengawal paparan selalunya memenuhi kedua-duanya — komposisi membolehkan anda menyatakannya dengan ringkas.

Semakan Ringkas

Operator manakah yang menggabungkan beberapa protokol menjadi satu keperluan jenis?

Rumusan

Perkara penting: • `Protocol1 & Protocol2` — komposisi sebaris • Gunakannya dalam parameter, jenis pulangan dan kekangan generik • `typealias` menamakan komposisi yang kerap digunakan • Utamakan komposisi berbanding penciptaan protokol baharu yang kosong • Boleh menggabungkan keperluan kelas: `UIViewController & MyProtocol` Seterusnya: pematuhan bersyarat.
Percuma untuk bermula

Pelajari Swift dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
122
Pelajaran
409

Soalan Lazim

Adakah pelajaran “Gubahan Protokol dengan &” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Swift Academy, termasuk “Gubahan Protokol dengan &”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Gubahan Protokol dengan &”?

Gabungkan beberapa protokol menjadi satu keperluan jenis. Anda berlatih Swift Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Swift Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Swift Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Gubahan Protokol dengan &” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Gubahan Protokol dengan &
  2. Pematuhan Bersyarat
  3. Keperluan Self dan Reka Bentuk Equatable
  4. Prinsip Reka Bentuk Berorientasikan Protokol
← Kembali ke Swift Academy