Swift 中面向对象代码的扩展与应用
1. 扩展现有类的方法
在编程过程中,有时我们希望为现有的类添加方法。通常情况下,我们可以直接在类的 Swift 源文件中添加新方法。但当无法访问类的源代码,或者修改代码不方便时,就可以使用 extension 关键字来实现。
1.1 定义 Point2D 和 Point3D 类
首先,我们定义 Point2D 类来表示一个可变的二维点,它包含 x 和 y 两个属性,并遵循 CustomStringConvertible 协议:
public class Point2D: CustomStringConvertible {
public var x: Int
public var y: Int
public var valuesAsDescription: String {
return "x: \(x), y: \(y)"
}
public var description: String {
get {
return "(\(valuesAsDescription))"
}
}
init(x: Int, y: Int) {
self.x = x
self.y = y
}
}
超级会员免费看
订阅专栏 解锁全文
741

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



