1. 程式人生 > >C# 中訪問修飾符

C# 中訪問修飾符

用通過程式碼:

 類內部

using System;
class Mod
{
    
void defaultMethod()
    
{
        Console.WriteLine(
"this is a default method");
    }


    
publicvoid publicMethod()
    
{
        Console.WriteLine(
"this is a public method");

    }

    
privatevoid privateMethod()
    
{
        Console.WriteLine(
"this is a private method
");
    }


    
internalvoid internalMethod()
    
{
        Console.WriteLine(
"this is a internal method");
    }


    
protectedvoid protectedMethod()
    
{
        Console.WriteLine(
"this is a protected method");
    }


    
protectedinternalvoid protectInternalMethod()
    
{
        Console.WriteLine(
"this is a protected internal method
");
    }


    
staticvoid Main()
    
{
        Mod mod
=new Mod();
        mod.defaultMethod();
        mod.publicMethod();
        mod.privateMethod();
        mod.internalMethod();
        mod.protectedMethod();
        mod.protectInternalMethod();
    }


}


D:/Project/handing/char>Method1
this is a default method
this is a public method
this is a private method
this is a internal method
this is a protected method
this is a protected internal method

 子類

using System;
class Mod
{
    
void defaultMethod()
    
...{
        Console.WriteLine(
"this is a default method");
    }


    
publicvoid publicMethod()
    
...{
        Console.WriteLine(
"this is a public method");

    }

    
privatevoid privateMethod()
    
...{
        Console.WriteLine(
"this is a private method");
    }


    
internalvoid internalMethod()
    
...{
        Console.WriteLine(
"this is a internal method");
    }


    
protectedvoid protectedMethod()
    
...{
        Console.WriteLine(
"this is a protected method");
    }


    
protectedinternalvoid protectInternalMethod()
    
...{
        Console.WriteLine(
"this is a protected internal method");
    }


}


class Test
{
        
staticvoid Main()
            
{
                Mod mod
=new Mod();
            
//    mod.defaultMethod();
                mod.publicMethod();
            
//    mod.privateMethod();
                mod.internalMethod();
            
//    mod.protectedMethod();
                mod.protectInternalMethod();
            }

}

D:/Project/handing/char>Method2
this is a public method
this is a internal method
this is a protected internal method

程式集內

using System;
class Mod
{
    
void defaultMethod()
    
...{
        Console.WriteLine(
"this is a default method");
    }


    
publicvoid publicMethod()
    
...{
        Console.WriteLine(
"this is a public method");

    }

    
privatevoid privateMethod()
    
...{
        Console.WriteLine(
"this is a private method");
    }


    
internalvoid internalMethod()
    
...{
        Console.WriteLine(
"this is a internal method");
    }


    
protectedvoid protectedMethod()
    
...{
        Console.WriteLine(
"this is a protected method");
    }


    
protectedinternalvoid protectInternalMethod()
    
...{
        Console.WriteLine(
"this is a protected internal method");
    }



}

class Modl : Mod
{
    
staticvoid Main()
    
{
        Modl mod
=new Modl();
            
    
//    mod.defaultMethod();
        mod.publicMethod();
    
//    mod.privateMethod();
        mod.internalMethod();
        mod.protectedMethod();
        mod.protectInternalMethod();
    }

    


}

D:/Project/handing/char>Method3
this is a public method
this is a internal method
this is a protected method
this is a protected internal method

程式集外

放在同一個NAMESPACE中,區別於JAVA的包。

 D:/Project/handing/04_01>csc /target:library Method4.cs
Microsoft (R) Visual C# 2005 編譯器 版本 8.00.50727.42
用於 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727
版權所有 (C) Microsoft Corporation 2001-2005。保留所有權利。


D:/Project/handing/04_01>csc /r:Method4.dll Method5.cs
Microsoft (R) Visual C# 2005 編譯器 版本 8.00.50727.42
用於 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727
版權所有 (C) Microsoft Corporation 2001-2005。保留所有權利。


D:/Project/handing/04_01>Method5
this is a public method

Method4.cs

using System;
namespace4
{
    
publicclass Mod
        
{
            
void defaultMethod()
            
{
                Console.WriteLine(
"this is a default method");
            }


            
publicvoid publicMethod()
            
{
                Console.WriteLine(
"this is a public method");

            }

            
privatevoid privateMethod()
            
{
                Console.WriteLine(
"this is a private method");
            }


            
internalvoid internalMethod()
            
{
                Console.WriteLine(
"this is a internal method");
            }


            
protectedvoid protectedMethod()
            
{
                Console.WriteLine(
"this is a protected method");
            }


            
protectedinternalvoid protectInternalMethod()
            
{
                Console.WriteLine(
"this is a protected internal method");
            }



        }

}

Method5.cs

using4;
using System;
publicclass Test
{
    
publicstaticvoid Main()
    
{
        Mod mod
=new Mod();
        mod.defaultMethod();
        mod.publicMethod();

相關推薦

C# 訪問修飾

用通過程式碼:  類內部 using System;class Mod...{    void defaultMethod()    ...{        Console.WriteLine("this is a default method");    }    pu

java訪問修飾

addclass ext pri post span 沒有 pretty pub () 較之c++ 中 public,proctected, private 三種訪問控制, java多了默認訪問控制。 java中四種訪問控制權限 簡單描寫敘述為一下四

Java訪問修飾作用範圍

Java中類的訪問許可權修飾符有private、default、protected、public,以下來分別介紹: (1)私有許可權(private) private可以修飾資料成員、構造方法及方法成員,不可以修飾類。被他修飾的成員,只能在定義他們的類中使用,在其他類中不能

C#類訪問修飾

訪問修飾符是一些關鍵字,用於指定宣告的成員或型別的可訪問性。訪問修飾符有四個:public protected internal private宣告的可訪問性 含義 public

C#的訪問修飾,宣告修飾,關鍵字有哪些?掃盲篇

更多請看 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/modifiers   一、訪問修飾符 tip:是新增到類、結構或成員宣告的關鍵字

java訪問修飾關鍵字的區別

public、protected、private以及預設default(不寫)  作用: 用來修飾類(介面、抽象類)、方法、屬性、構造方法、常量、主函式 類的成員不寫訪問修飾符時時預設default,預設情況對於同一個包而言等同於public 子類使用是需要繼承

C#4個訪問修飾(隨筆)

結構 public 成員訪問 集中 internal pub ted 限制 nal Public:公有的,是類型和類型成員的訪問修飾符。對其訪問沒有限制。 Internal:內部的,是類型和類型成員的訪問修飾符。同一個程序集中的所有類都可以訪問 Private:私

c#訪問修飾

prot 不一致 d+ 保護 intern 權限 bsp 修飾 訪問 public:公開的公共的 private:私有的,只能在當前類的內部訪問 protected: 受保護的,只能在當前類的內部以及該類的子類中訪問 internal:只能在當前項目中訪問。在同一個項目中,

《隨筆四》——C#的 “屬性和索引器的 get 和 set 訪問器的訪問修飾

屬性和索引器中的 get 和 set 訪問器的訪問修飾符 ●  索引器和屬性自帶 get 和 set 訪問器,  在預設的情況下:  如果一個屬性有public 訪問級別, 那麼它的那個兩個訪問器

C# 訪問修飾和宣告修飾

訪問修飾符(是新增到類、結構或成員宣告的關鍵字)   Public:公有的,是型別和型別成員的訪問修飾符。對其訪問沒有限制。  Internal:內部的,是型別和型別成員的訪問修飾符。同一個程式集中的所有類都可以訪問  Private:私有的,是一個成員訪問修飾符。只有在宣

c#的類訪問修飾

public ---   無新意 private  --- 無新意 protected -- 無新意 internal  -- 同一個執行檔案(exe)或者類庫dll中的類可訪問 protected internal --  故名思意 C#中的類屬性的get/set方法可以

C#方法、類等的預設訪問修飾~

C# 方法預設訪問級別 : private C# 類預設訪問級別 : internal1.名稱空間下的元素的預設訪問修飾符public : 同一程式集的其他任何程式碼或引用該程式集的其他程式集都可以訪問該型別或成員。internal : 同一程式集中的任何程式碼都可以訪問該型

c#四種訪問修飾說明

msdn的解釋如下:internal指的是同一個程式集,內部成員和型別才是可以訪問的.內部訪問通常用於基於元件的開發,因為它使一組元件能夠以私有方式進行合作,而不必嚮應用程式程式碼的其餘部分公開 一個成員或型別只能有一個訪問修飾符,使用 protectedinternal

C++訪問修飾

源於牛客網上的一道題目,下列程式編譯時會出現錯誤,請根據行號選擇錯誤位置( ): <span style="font-size:14px;">#include <iostream&

C#如何使用訪問修飾修飾屬性

public string ID {get; private set;} 上面的屬性對例項公開get方法,而在類裡面可以使用set方法。 相應的internal, protected, internal  protected都可以用來修飾屬性。注意public不可以,因為預設

c#4個訪問修飾和8個宣告修飾詳解

[1]In GrandClass.Constructor [2]In ParentClass.Constructor [3]In ParentClass.Method() use override [4]In GrandClass.Constructor [5]In NewParentClass.Constr

C#預設訪問修飾

如果被問到C#中預設的訪問修飾符是什麼?你該怎麼回答,是不是感覺不太好說!我把資料整理如下, 僅供參考! 首先,必須明確的是C#中的訪問修飾符有5中: public 同一程式集中的任何其他程式碼或引用

c++與java關於訪問修飾的區別

#include <iostream> #include <math.h> using namespace std; class A { protected:void fun(){cout<<"hello"<<endl;} }; int main(){A a;a

C#五種訪問修飾作用範圍 public、private、protected、internal、protected internal

在C#語言中,共有五種訪問修飾符:public、private、protected、internal、protected internal。作用範圍如下表:訪問修飾符 說明public 公有訪問。不受任何限制。private 私有訪問。只限於本類成員訪問,子類,例項都不能訪

C#基礎】c#訪問修飾

public :公開的公共的 private:私有的,只能在當前類的內部訪問 protected:受保護的,只能在當前類的內部以及該類的子類中訪問。 internal:只能在當前專案中訪問。在同一個專案中,internal和public的許可權是一樣。 1)、能夠修飾類的訪問修飾符只