ios – 如何在swift中进行多重继承?

ios – 如何在swift中进行多重继承?,第1张

概述我需要实现一个从UITableViewController派生的类(为了便利名称A)和从UICollectionViewController派生的另一个(B).并且有很多常见的东西,所以我想把它们放在一个类(C)中让A和B继承C.现在A和B都有两个继承类,但是在 swift中不允许多重继承,所以怎么实现这个?我知道swift中不允许多重继承,但我仍然想知道如何做我上面描述的事情. 正如@ Paul 我需要实现一个从UItableVIEwController派生的类(为了便利名称A)和从UICollectionVIEwController派生的另一个(B).并且有很多常见的东西,所以我想把它们放在一个类(C)中让A和B继承C.现在A和B都有两个继承类,但是在 swift中不允许多重继承,所以怎么实现这个?我知道swift中不允许多重继承,但我仍然想知道如何做我上面描述的事情.解决方法 正如@ Paulw11的评论所述,是正确的.这是一个涉及A& A的例子. B继承自C.我将其命名为DogVIEwController和CatVIEwController(继承了PetVIEwController的形式).您可以看到协议如何有用.这只是一个非常基本的例子.
protocol Motion {    func move()}extension Motion where Self: PetVIEwController {    func move() {        //Open mouth    }}class PetVIEwController: UIVIEwController,Motion{    var isLoud: Bool?    func speak(){        //Open Mouth    }}class DogVIEwController:PetVIEwController {    func bark() {        self.speak()        //Make bark Sound    }}class CatVIEwController: PetVIEwController {    func meow() {        self.speak()        //Make Meow Sound    }}//....let cat = CatVIEwController()cat.move()cat.isLoud = falsecat.meow()
总结

以上是内存溢出为你收集整理的ios – 如何在swift中进行多重继承?全部内容,希望文章能够帮你解决ios – 如何在swift中进行多重继承?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1098540.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存