【发布时间】:2017-08-22 12:43:02
【问题描述】:
以下代码:
class City {
var cityId : String?
var cityName : String?
}
class Town {
var townid : String?
var townName : String?
}
class Address : City , Town {
var house : String?
var street: String?
}
生成编译时错误:
Address.swift:38:24:来自“City”和“Town”类的多重继承
我该如何解决他的问题?遵循什么方法?
【问题讨论】:
-
使用自定义协议
-
这里多重继承的目的是什么,你可以在多级情况下访问超类成员。
-
嗯,这里显然 city 可以从 Town 派生,即 City: Town。并且应该有一个协议,比如说 IdSupportable { id: String {get}; name: String {get}} 然后 Town 实现了 IdSupportable,Address 实现了相同的协议。但地址不是城市或城镇。
标签: swift oop inheritance multiple-inheritance