私は大学時代にずっとpublicを使ってきましたが、public、private、protectedの違いを知りたいのですが。
public
private
protected
また、staticは何も持っていないのとは対照的に何をするのですか?
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の記事に完全な説明があります。
うーん・・・。
スタティックとは、そのクラスのインスタンスを持っていなくても、その関数にアクセスできるということです。
クラス定義から直接アクセスできます。
これらのアクセス修飾子は、メンバーが表示される場所を指定します。これを読んでみるといいでしょう。IainMHのリンクを参考にしてみてください。
静的メンバーはクラスごとに1つで、インスタンスごとに1つではありません。
うーん。
ここを見てください。 アクセス修飾子をご覧ください。
一言で言えば
Publicは、メソッドや型を他の型やクラスから完全に可視化します。
Privateでは、privateメソッド/変数を含む型だけが、そのprivateメソッド/変数にアクセスできます(入れ子になったクラスも、そのクラスのprivateメソッド/変数にアクセスできることに注意してください)。
Protected は private と似ていますが、派生クラスも protected メソッドにアクセスできます。
"Nothing" は VB.NET の null に相当します。ただし、「何もない」が「アクセス修飾子がない」ことを意味しているのであれば、それによりますが、非常に大まかな経験則(C#の場合)では、アクセス修飾子を明示的に指定しない場合、メソッド/変数の宣言は通常、可能な限り*制限されています。 つまり、以下のようになります。
は事実上、同じです。
アクセス修飾子が明示的に指定されていない場合は、リンク先のMSDNの記事に完全な説明があります。
うーん・・・。
スタティックとは、そのクラスのインスタンスを持っていなくても、その関数にアクセスできるということです。
クラス定義から直接アクセスできます。
これらのアクセス修飾子は、メンバーが表示される場所を指定します。これを読んでみるといいでしょう。IainMHのリンクを参考にしてみてください。
静的メンバーはクラスごとに1つで、インスタンスごとに1つではありません。