在Unity3D中声明类属性的最佳方法

塞尔吉奥

我是Unity 3D开发的新手,我想知道什么是声明类的属性的最佳方法,稍后再从编辑器中进行分配。我主要看到两个:

public class MyObject : MonoBehavour {

    public GameObject relatedObect;

}

public class MyObject : MonoBehavour {
    [SerializeField]
    private GameObject relatedObect;

}

我知道这是第二种形式,因为可以维护封装,但是我不确定。

杰克·马里亚尼(Jack Mariani)

请考虑在示例中您声明了类字段,而不是属性他们都是班上的一员,但有很大的不同。

为了这个答案,我将重点关注您的示例,因此我将讨论字段。

双方public[SerializeField] private让你注入在Unity检查一个值,但它们采取不同的脚本。

1-公共场所

您希望在其他类中使用或设置公共字段时声明它。此选择与封装背道而驰,因为其他脚本可能会访问它。如果您要求该字段可访问,这仍然可能是预期的行为。

2-[SerializeField]专用栏位

当您想在检查器中设置项目时,可以使用此方法,但您不希望其他类看到它。此选项更适合封装,因为以这种方式,其他任何脚本都不能访问或更改此字段。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章