自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#訪問修飾符詳細(xì)剖析

開發(fā) 后端
這里介紹C#訪問修飾符與 Java 大致相同,我們將在這一部分介紹其中的一些細(xì)微差別。每個類成員或類本身都可以用C#訪問修飾符進行聲明,以定義許可訪問的范圍。

本文向大家介紹C#訪問修飾符,可能好多人還不了解修飾符,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

C#訪問修飾符

C#訪問修飾符與 Java 大致相同,我們將在這一部分介紹其中的一些細(xì)微差別。每個類成員或類本身都可以用C#訪問修飾符進行聲明,以定義許可訪問的范圍。沒有在其他類中聲明的類只能指定 public 或 internal 修飾符,而嵌套的類(如其他的類成員)可以指定下面五個修飾符中的任何一個:
◆public:對所有類可見
◆protected:僅從派生類中可見
◆private:僅在給定的類中可見
◆internal:僅在相同的程序集中可見
◆protected internal:僅對當(dāng)前的程序集或從包含類中派生的類型可見

1.public、protected 和 private 修飾符
public 修飾符使得可以從類內(nèi)外的任何地方訪問成員。protected 修飾符表示訪問僅限于包含類或從它派生的類。private 修飾符意味著只可能從包含類型中進行訪問。

2.internal 修飾符
internal 項只可以在當(dāng)前的程序集中進行訪問。.NET 中的程序集大致等同于 Java 的 JAR 文件,它表示可以從中構(gòu)造其他程序的生成塊。

3.protected internal 修飾符
protected internal 項僅對當(dāng)前程序集或從包含類派生的類型可見。默認(rèn)C#訪問修飾符是 private,而 Java 的默認(rèn)C#訪問修飾符是包范圍。

4.sealed 修飾符
在其類聲明中帶有 sealed 修飾符的類可以認(rèn)為是與抽象類完全相反的類:它不能被繼承。我們可以將一個類標(biāo)記為 sealed,以防止其他類重寫它的功能。自然地,sealed 類不能是抽象的。同時還需要注意,該結(jié)構(gòu)是隱式密封的;因此,它們不能被繼承。sealed 修飾符相當(dāng)于在 Java 中用 final 關(guān)鍵字標(biāo)記類。

5.readonly 修飾符
要在 C# 中定義常量,我們可以使用 const 或 readonly 修飾符替換 Java 的 final 關(guān)鍵字。在 C# 中,這兩個修飾符之間的區(qū)別在于,const 項是在編譯時處理的,而 readonly 字段是在運行時設(shè)置的。這可以允許我們修改用于在運行時確定 readonly 字段值的表達(dá)式。

這意味著給 readonly 字段的賦值可以出現(xiàn)在類構(gòu)造函數(shù)及聲明中。例如,下面的類聲明了一個名為 IntegerVariable 的 readonly 變量,它是在類構(gòu)造函數(shù)中初始化的:

  1. using System;  
  2. public class ReadOnlyClass  
  3. {  
  4. private readonly int IntegerConstant;  
  5.  
  6. public ReadOnlyClass ()  
  7. {  
  8. IntegerConstant = 5;  
  9. }  
  10. // We get a compile time error if we try to set the value of the readonly  
  11. //class variable outside of the constructor  
  12. public int IntMember  
  13. {  
  14. set  
  15. {  
  16. IntegerConstant = value;  
  17. }  
  18. get  
  19. {  
  20. return IntegerConstant;  
  21. }  
  22. }  
  23.  
  24. public static void Main(string[] args)  
  25. {  
  26. ReadOnlyClass objnew ReadOnlyClass();  
  27.  
  28. // We cannot perform this operation on a readonly field  
  29. obj.IntMember = 100;  
  30. Console.WriteLine("Value of IntegerConstant field is {0}",  
  31.  obj.IntMember);  
  32. }  

【編輯推薦】

  1. C# SystemMenu類介紹
  2. C# VSProject對象基礎(chǔ)介紹
  3. C#創(chuàng)建Web應(yīng)用程序項目剖析
  4. C#調(diào)用Windows服務(wù)項目基礎(chǔ)描述
  5. C#建立項目簡單分析
責(zé)任編輯:佚名 來源: 新浪科技
相關(guān)推薦

2009-09-02 17:14:28

C#修飾符

2009-08-24 16:49:39

C#修飾符

2009-08-27 13:06:13

C# new修飾符

2009-08-27 11:04:08

C# extern修飾

2009-08-21 13:58:06

C# virtual修

2009-08-27 11:12:03

C# abstract

2009-08-27 11:16:40

C# sealed修飾

2009-09-02 17:04:35

C# Extern修飾

2011-06-28 09:29:11

C#修飾符

2011-07-20 16:50:39

inlinec++

2011-07-20 16:48:22

C++static

2011-07-20 16:57:05

C++const

2024-09-27 09:50:11

C#正則表達(dá)式

2010-01-11 18:46:15

VB.NET修飾符

2009-06-19 10:51:39

Scalapackage訪問修飾符

2009-06-12 13:37:47

訪問權(quán)限修飾符Java教程

2009-08-27 17:14:36

C# Socket

2009-09-11 11:17:04

C#引用類型

2009-09-18 10:00:17

C#數(shù)組操作

2009-08-31 17:26:32

C#異常處理
點贊
收藏

51CTO技術(shù)棧公眾號