1. 程式人生 > >Unity_雜項_訪問修飾符在Unity監控面板的表現_050

Unity_雜項_訪問修飾符在Unity監控面板的表現_050

不同的訪問修飾符在程式中的訪問許可權是不同的,在Unity面板中的表現也是不一樣的,下面我們通過程式來看一下訪問修飾符在Unity監控面板中的表現

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Visit : MonoBehaviour 
{
    //具有公開許可權的欄位可以出現在Inspector面板上
    public int num1 = 10;
    //如果在宣告欄位的時候沒有賦值  那麼預設值是0
    public int num2;
    //隱藏公有欄位  表示將原本顯示在面板上的序列化值隱藏起來。
[HideInInspector] public int num3 = 20; //私有的欄位不會出現在Inspector面板上 private int age; //[SerializeField]表示將原本不會被序列化的私有變數和保護變數可以序列化,這麼他們在下次讀取時,就是你上次賦值的值。 [SerializeField] private char gender; //受保護的欄位 通過序列化也可以出現在面板上 [SerializeField] protected string hobby; // Use this for initialization
void Start () { } // Update is called once per frame void Update () { } }

這裡寫圖片描述
序列化 (Serialization) 源自百度百科:http://baike.baidu.com/view/160029.htm?fr=aladdin
將物件的狀態資訊轉換為可以儲存或傳輸的形式的過程。在序列化期間,物件將其當前狀態寫入到臨時或永續性儲存區。以後,可以通過從儲存區中讀取或反序列化物件的狀態,重新建立該物件。

說的再直接點,序列化的目的就是為了跨程序傳遞格式化資料

[HideInInspector]表示將原本顯示在面板上的序列化值隱藏起來。

[SerializeField]表示將原本不會被序列化的私有變數和保護變數可以序列化,這麼他們在下次讀取時,就是你上次賦值的值。