面向人文协议的编程

当心! Story ini menggunakan类似物Superhero dari DC Comics。

Sebagai程序员,Pasta sudah terbiasa dengan 面向对象编程 。 Dimana paradigma pemrograman itu banyak memberi solusi untuk membuat arsitektur 可重用 代码 。 Namun OOP sendiri juga memiliki beberapa kekurangan,Yang kemudian pada tahun 2015,Swift memperkenalkan 面向协议的编程 ,yang bisa menangani kekurangan tersebut。

Definisi 协议 sendiri adalah

协议定义了适合特定任务或功能的方法,属性和其他要求的蓝图。

Setiap 方法,属性,dll,协议,类,类, 要求, 协议 。 Contoh nya seperti:

Dapat dilihat bahwa 协议 tersebut memiliki 2个属性:

  • 武术
  • 武器装备

setiap 类,struct, atau 枚举 yang mengaplikasikan 协议 tersebut wajib untuk menginisasi ke 2个属性 tersebut:

结构GothamCity Menginisiasi 属性 Yang Dimiliki 协议 Batman

Done〜,sekarang Gotham市dapat dilindungi dari serangan 恶棍 seperti Joker,企鹅,Enigma和Two-Face。

等等,拉鲁·巴加伊玛娜·卡劳·蒂巴·蒂巴的开发商 memutuskan ada serangan lain dari villains yang lebih kuat seperti世界末日/ Darkseid吗? 蝙蝠侠seorang diri tentu tidak sanggup。

多协议

阿达(Ada)超级英雄莱恩·比萨·孟买(Lamb yang bisa membantu):

kembali, 协议超人dapat digunakan setelah属性nya di inisiasi:

协议继承

Sepertinya masih banyak kemampuan超人&tidak hanya sebatas 热视觉 。 Namun untuk膜可重用代码, kita dapat膜协议可继承。

ke 3属性tersebut dapat di继承其他协议 lain:

dapat dilihat bahwa 属性方法 dari berbagai 协议 tersebut dapat digunakan oleh struct tersebut。

协议扩展

Setelah menggunakan berbagai协议的内容,方法和方法yang sama。 🤔

Ada fitur 强大的 POP,yaitu 默认实现 menggunakan 协议扩展。

好的〜,sekarang setiap协议superPower digunakan, 属性方法 di dalam 协议 tersebut sudah memiliki nilai / action default


Meskipun POP dapat menutupi kekurangan yang dimiliki oleh OOP,tetaplah diingat bahwa tidak ada paradigma pemrograman yang sempurna,semua harus dipertimbangkan sesuai dengan kebutuhan untuk membuat code yang 可重复使用 &tidak 冗余。