Unity3d 封装在这里有什么用
构造函数在这里有什么用途 这是一个脚本:Unity3d 封装在这里有什么用,unity3d,Unity3d,构造函数在这里有什么用途 这是一个脚本: [SerializeField] private LobbyFunction _lobbyFunction; public LobbyFunction LobbyFunction { get { return _lobbyFunction; } } 这是脚本B: private void Start() { GameObject lobbyCanvasGO = CanvasManager.Instance.LobbyFunction.
[SerializeField]
private LobbyFunction _lobbyFunction;
public LobbyFunction LobbyFunction
{
get { return _lobbyFunction; }
}
这是脚本B:
private void Start()
{
GameObject lobbyCanvasGO = CanvasManager.Instance.LobbyFunction.gameObject;
if (lobbyCanvasGO == null) return;
}
如果我选择不使用封装呢?我想没有错。任何帮助都将不胜感激,谢谢
编辑:我想在这里使用封装可以使变量只读,只获取。。。因此增加了安全性,来自外部的人不能更改值,是ans吗?这不是构造函数,而是 属性是提供灵活机制来读取、写入或计算私有字段值的成员。属性可以像公共数据成员一样使用,但它们实际上是称为访问器的特殊方法。这使得数据可以轻松访问,同时也有助于提高方法的安全性和灵活性 在您的情况下,它用于授予对
私有支持字段\u lobbyFunction
的只读访问权,因此其他类不能更改其值,因为只有包含\u lobbyFunction
的类“A”本身才允许分配它
顺便说一句,你拥有它的方式相当于简单地写
public LobbyFunction LobbyFunction { get; private set; }
不需要支持字段。然后仍然只允许包含类“A”本身赋值,而其他所有人都可以读取它。这不是构造函数,而是一个
属性是提供灵活机制来读取、写入或计算私有字段值的成员。属性可以像公共数据成员一样使用,但它们实际上是称为访问器的特殊方法。这使得数据可以轻松访问,同时也有助于提高方法的安全性和灵活性
在您的情况下,它用于授予对私有支持字段\u lobbyFunction
的只读访问权,因此其他类不能更改其值,因为只有包含\u lobbyFunction
的类“A”本身才允许分配它
顺便说一句,你拥有它的方式相当于简单地写
public LobbyFunction LobbyFunction { get; private set; }
不需要支持字段。然后仍然只允许包含类“A”本身赋值,而其他所有人都可以读取它。什么构造函数?这段代码中没有构造函数。@tkausl{get;set;},不是构造函数吗?不是,这是。。在您的情况下,它用于授予对私有支持字段的只读访问权:lobbyFunction
@derHugo,以便访问修饰符是公共的,我可以在其他脚本中使用该值(set和get),但除我之外的人不能更改该值,是吗。。由于没有为该属性定义set
,任何其他类只能看到get
,因此只能读取值,不能赋值。什么构造函数?这段代码中没有构造函数。@tkausl{get;set;},不是构造函数吗?不是,这是。。在您的情况下,它用于授予对私有支持字段的只读访问权:lobbyFunction
@derHugo,以便访问修饰符是公共的,我可以在其他脚本中使用该值(set和get),但除我之外的人不能更改该值,是吗。。由于没有为该属性定义set
,因此任何其他类只能看到get
,因此只能读取值,不能赋值。