C# 通俗讲解Public、Private以及Protected、[HideInInspector]、[SerializeField]的区别
2023-12-13 13:26:13
一、故事背景
1.我画了一幅画,把它放在室外,所有人都可以看见这个画,所有人都可以对这个画进行修改。
2.我非常非常努力,赚了一大笔钱,这笔钱,只能我和我的子孙后代用,但如果我的孩子需要传给他们的孩子,也可以用。
3.我娶了一个媳妇,她只是我的,不能给别人,也不能被自己的孩子继承(不要杠,杠就是你是对的!)
以上三种情况,我们在代码里也会遇见。
二、Public、Protected以及Private
如果我在一个代码里写了public int apple;
那么,这个apple是其他代码也可以调用到的,甚至可以更改。
如果我在一个代码里写了protected?int apple;
那么,这个apple只能被现在这个代码和继承了自己的代码使用和更改。
如果我在一个代码里写了Private?int apple;
那么,这个apple只能被现在这个代码使用和更改。
三、unity面板里的Public、Protected以及Private
如果你是在unity里写的,public和其他俩还有一个重要的区别,就是public是可以在面板里被看见的,其他两个不可以。
四、[HideInInspector]、[SerializeField]的区别
在上一条的情况下,我们在Unity里面使用,会出现新的需求:
1.(public)我还是愿意让所有代码都调用到,都可以修改,可是,我不想再面板上看见它。那就在代码上面加上[HideInInspector],意思是,在面板中隐藏
[HideInInspector]
public int apple = 10;
2.(Protected、Private)其他功能我想保持不变,可我希望能在面板上看见,在面板上改动它。
那就在代码上面加上[SerializeField],意思是,在面板中显示并可以操作
[SerializeField]
protected int apple2 = 10;
[SerializeField]
private int apple3 = 10;
文章来源:https://blog.csdn.net/weixin_49427945/article/details/134830002
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!