私は大学時代にずっとpublic
を使ってきましたが、public
、private
、protected
の違いを知りたいのですが。
また、static
は何も持っていないのとは対照的に何をするのですか?
うーん。
ここを見てください。 アクセス修飾子をご覧ください。
一言で言えば
Publicは、メソッドや型を他の型やクラスから完全に可視化します。
Privateでは、privateメソッド/変数を含む型だけが、そのprivateメソッド/変数にアクセスできます(入れ子になったクラスも、そのクラスのprivateメソッド/変数にアクセスできることに注意してください)。
Protected は private と似ていますが、派生クラスも protected メソッドにアクセスできます。
"Nothing" は VB.NET の null に相当します。ただし、「何もない」が「アクセス修飾子がない」ことを意味しているのであれば、それによりますが、非常に大まかな経験則(C#の場合)では、アクセス修飾子を明示的に指定しない場合、メソッド/変数の宣言は通常、可能な限り*制限されています。 つまり、以下のようになります。
public class MyClass
{
string s = "";
}
は事実上、同じです。
public class MyClass
{
private string s = "";
}
アクセス修飾子が明示的に指定されていない場合は、リンク先のMSDNの記事に完全な説明があります。