Swift 协议扩展深度解析与实践应用
1. 扩展练习类型实例创建
首先,我们创建了两种新的锻炼类型实例:椭圆机锻炼和跑步锻炼。以下是代码实现:
struct EllipticalWorkout: Exercise {
var caloriesBurned: Double
var minutes: Double
}
let ellipticalWorkout = EllipticalWorkout(caloriesBurned: 335, minutes: 30)
struct RunningWorkout: Exercise {
var caloriesBurned: Double
var minutes: Double
var meters: Double
}
let runningWorkout = RunningWorkout(caloriesBurned: 350, minutes: 25, meters: 5000)
这里我们定义了两个结构体 EllipticalWorkout 和 RunningWorkout ,它们都遵循 Exercise 协议。通过创建实例,我们可以对不同类型的锻炼进行管理和操作。
2. 计算每分钟燃烧的卡路里
对于 Exercise 实例,我们自然会关心每分钟燃烧的卡路里数。可以使用泛型和类型约束编写一个函数来进行计算:
超级会员免费看
订阅专栏 解锁全文
467

被折叠的 条评论
为什么被折叠?



