迅捷属性

什么是属性?

属性将值与特定的类,结构,枚举关联。

属性类型?

  1. 商店属性。
  2. 计算属性

商店属性规则。

  1. 它可以存储常量(let)和变量(Var)作为实例的一部分。
  2. 它只能使用类和结构。

注意:我们可以在store属性上提供默认值,并且可以在初始化期间为store属性修改初始值。

例:-

struct FixedLengthRange {

var firstValue:Int

长度:整数

}

var lengthOfrange = FixedLengthRange(firstValue:0,length:3)

//范围代表整数值0、1和2

lengthOfrange.firstValue = 6

//范围代表整数值0、1和2

在这里,FixedLengthRange类具有名为firstValue的变量存储属性和名为length的常量存储属性,其值不能更改。

常量结构的存储属性。

如果我们创建结构的实例并为其分配常量。 这样我们就不能修改属性的实例,即使它们被声明为变量属性。

例:-

rangeOfFourItems = FixedLengthRange(firstValue:0,长度:4)

//此范围代表整数值0、1、2和3

rangeOfFourItems.firstValue = 6

//即使firstValue是变量属性,这也会报告错误

计算属性规则。

1.可以定义类,结构和枚举

2.它提供一个getter和一个可选的setter,以间接检索和设置其他属性和值

如果在属性声明中将属性定义为get {},则会将该属性变为计算属性。我们可以使用两种类型的计算属性,一种是在属性内部使用get {},也可以同时使用get {}和set {} 。 如果我们将属性定义为get {},则称为只读计算属性。

例:-

使用get {}

var ComputedProperties:String {

得到 {

返回 “ ComputedPropertes”

}

}

// — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

得到{}并设置{}

// — — — — — — — — — — — — —

班级样本{

var no1 = 0.0,no2 = 0.0

变量长度= 300.0,宽度= 150.0

var middle:((Double,Double){

得到 {

返回 (长度/ 2,宽度/ 2)

}

设置 (轴){

no1 =轴。0—(长度/ 2)

no2 =轴。1-(宽度/ 2)

}

}

}

var结果= sample()

打印(result.middle)

result.middle =(0.0,10.0)

打印(result.no1)

打印(result.no2)

//第一个result.middle在设置轴值后获取值

//输出

(150.0,75.0)

-150.0

-65.0

惰性存储属性

惰性存储属性是其首次使用时才计算其初始值的属性。 它是在声明之前用lazy修饰符定义的。

注意:—总是将惰性属性声明为变量(var)