这最好用一个例子来解释。考虑这个mustOverride辅助函数:funcmustOverride(callSite:String=#function)->Never{preconditionFailure("\(callSite)mustbeoverriddeninasubclass")}我们用它来制作仿抽象类,如下所示://Faux'abstract'classclassSoundBase{funcplay(){mustOverride()}}//'Concrete'classclassCatSound:SoundBase{overridefuncplay(){//playcat'