Почему я не могу наследовать от нескольких классов в swift так же, как библиотеки
Я пытаюсь создать myPet путем наследования двух классов, но, например, ошибки:
import UIKit
class SecondViewController: UIViewController, UITextFieldDelegate {
// No Error
}
Затем были определены следующие классы, а затем создать новый класс myPets, который мне нравится наследовать как Dog, так и Substance. Но ошибка: множественное наследование от классов "Собака" и "Вещество"
class Dog:Animal {
func sound()->String {
return "Hong Hong"
}
}
class Substance {
func livingCompound()->String {
return "Consist of bio-molecule"
}
}
class myPets:Dog, Substance {
func itsAddress()->String {
// Error:Multiple inheritance from classes 'Dog' and 'Substance'
}
}
Ответы
Ответ 1
Swift не поддерживает множественное наследование, следуя за Objective C. Это НЕ наследование двух классов:
class SecondViewController: UIViewController, UITextFieldDelegate
Это наследование от одного класса UIViewController
и принятие протокола UITextFieldDelegate
. Читайте о протоколах в https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html