人人射人人插 I 91成人综合 I 熟女视频一区二区在线观看 I 91 在线观看 I 欧美成人乱码一二三四区免费 I av在线网页 I 日韩aⅴ视频 I 女人高潮抽搐潮喷视频开腿 I 大陆日韩欧美 I 国产麻豆精品福利在线观看 I 国产在线精品一区二区在线观看 I 青草网在线观看 I 国产精品夜夜夜 I 色婷婷六月 I 亚洲第一天堂在线观看 I 国产午夜激无码av毛片不卡 I 精品乱码一卡二卡四卡 I 永久免费看片在线 I av影片网站 I xfplay噜噜av I 91精品国产91久久久久福利 I 免费能看的av I 国产成人美女视频 I 久久国产精品99精国产 I 久久久久国产成人免费精品免费 I 国产精品va I 久久国产精品成人影院 I 国产女人爽到高潮久久久4444 I 狠狠亚洲 I 野外做受三级视频 I 久久婷婷国产综合精品 I 色婷婷综合视频在线观看 I 成人瑟瑟视频 I 国产视频久久网 I 亚洲无人区一区

您現在所在的位置:首頁 >學習資源 > Unity游戲/VR/AR入門教材 > VR開發入門教程25:面向對象之訪問修飾符

VR開發入門教程25:面向對象之訪問修飾符

來源:奇酷教育 發表于:

Is和asis:語法:對象 is 類型檢查一個對象是否兼容于其他指定的類型,并返回一個Bool值,如果一個對象是某個類型或是其父類型的話就返回為t

Is和as
is:
 
語法:對象 is 類型
檢查一個對象是否兼容于其他指定的類型,并返回一個Bool值,如果一個對象是某個類型或是其父類型的話就返回為true,否則的話就會返回為false。永遠不會拋出異常
如果對象引用為null,那么is操作符總是返回為false,因為沒有對象可以檢查其類型
 
as
1、檢查對象類型的兼容性,并返回轉換結果,如果不兼容則返回null;
2、不會拋出異常;
3、如果結果判斷為空,則強制執行類型轉換將拋出NullReferenceException異常;
4、用as來進行類型轉換的時候,所要轉換的對象類型必須是目標類型或者轉換目標類型的派生類型
 
使用as操作符有如下2點限制:
1.類型不兼容的情況 (編譯器自動阻擋)
2.轉換的目標類型不能為null的情況(編譯器自動阻擋)
 
as與is的區別
1、as在轉換的同時兼判斷兼容性,如果無法進行轉換,則 as 返回 null(沒有產生新的對象)而不是引發異常。有了as我想以后就不要再用try-catch來做類型轉換的判斷了。因此as轉換成功要判斷是否為null。
2、as是引用類型類型的轉換或者裝箱轉換,不能用于值類型的轉換。如果是值類型只能結合is來強制轉換
3、is只是做類型兼容判斷,并不執行真正的類型轉換。返回true或false,不會返回null,對象為null也會返回false。
4、as模式的效率要比is模式的高,因為借助is進行類型轉換的化,需要執行兩次類型兼容檢查。而as只需要做一次類型兼容,一次null檢查,null檢查要比類型兼容檢查快。
訪問修飾符
字段、方法、屬性都可以叫做類的成員Member,它們都需要定義訪問級別。訪問級別的用處在于控制成員在哪些地方可以被訪問。
 
訪問修飾符:public/private/internal/protected
private : 私有成員, 在類的內部才可以訪問。
public : 公共成員,完全公開,沒有訪問限制。
protected : 保護成員,該類內部和繼承類中可以訪問。
internal: 當前程序集內可以訪問。程序集:exe\dll中
internal protected:internal 和 protected的并集, 同一個程序集中的所有類,以及所有程序集中的子類。
 
修飾符可以修飾的內容:
類(class)和結構(struct)只能用public, internal來修飾
成員(屬性、方法)能用以上5種來修飾
 
默認沒有訪問修飾符的默認規則:
類中字段和方法默認的訪問修飾符是private
類(class)和結構(struct)默認的訪問修飾符是internal
 
注:程序集(Assembly)-一般指一個Exe可執行文件或類庫(DLL文件)