计算属性是一种特殊类型的属性,它并不直接存储值,而是通过一些计算来得到值。这就像是一个小型的计算机,每当我们需要获取属性的值时,它都会进行一些计算,然后返回结果。
且看下面的例子:
假设我们有一个表示矩形的结构体,它有两个属性:宽度和高度。现在,我们想要添加一个新的属性来表示矩形的面积。则可以使用计算属性来实现这个功能:
struct Rectangle {
var width: Double
var height: Double
var area: Double {
return width * height
}
}
let rectangle = Rectangle(width: 5.0, height: 10.0)
print(rectangle.area) // 输出 50.0
在这个例子中,area
是一个计算属性。当我们访问这个属性时,它会计算width
和height
的乘积,然后返回结果。
计算属性的真正威力在于它们的灵活性。我们可以在计算属性的定义中执行任何我们需要的计算。例如,我们可以定义一个表示人的结构体,然后添加一个计算属性来计算这个人的年龄:
struct Person {
var birthYear: Int
var currentYear: Int
var age: Int {
return currentYear - birthYear
}
}
let person = Person(birthYear: 1990, currentYear: 2023)
print(person.age) // 输出 33
在这个例子中,age
是一个计算属性。当我们访问这个属性时,它会计算currentYear
和birthYear
的差,然后返回结果。
网友评论