protocol 菜价 { func 普通菜价() -> Double } struct 白菜:菜价 { func 普通菜价() -> Double { return 2.5 } } struct 黄瓜:菜价 { func 普通菜价() -> Double { return 3.5 } } let 白菜1 = 白菜() let 黄瓜1 = 黄瓜() print("\(String(format: "%.2f",白菜1.过年的菜价)) 元") print("\(String(format: "%.2f",黄瓜1.过年的菜价)) 元") extension 菜价 { var 过年的菜价: Double { get{ return 普通菜价() + 2 } } }原文链接:https://www.f2er.com/swift/323948.html