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
,因此只能读取值,不能赋值。