在类内部具有 get 和 set 访问权限但在类外部只能在 Swift 中访问的类变量? [复制]
Posted
技术标签:
【中文标题】在类内部具有 get 和 set 访问权限但在类外部只能在 Swift 中访问的类变量? [复制]【英文标题】:Class Variable that have get and set access inside class but outside class only get access in Swift? [duplicate] 【发布时间】:2021-07-30 17:22:19 【问题描述】:例如:- 在 Player Class 中,Score 应该在 Class 内部具有 get 和 set 访问权限,但 class 外部 score 应该是只读属性。
Class Player
var score : Int //get and set
init(score : Int)
self.score = score
func printScore()
print(score)
func updateScore(by value: Int)
self.score += value
let player1 = Player(score : 30)
print(player1.score) //=> should be allowed
player.score = 100 //=> should not be allowed
【问题讨论】:
将其设为私有重命名例如private var _score
?并使用另一个仅用于外部使用的 get:var score return _score
(这里,get
是隐含的)
【参考方案1】:
这由private(set)
访问控制处理:
private(set) var score : Int
有关这些访问控制的完整详细信息,请参阅 The Swift Programming Language 中的 Getters and Setters。
【讨论】:
以上是关于在类内部具有 get 和 set 访问权限但在类外部只能在 Swift 中访问的类变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章