「C Sharp」の版間の差分

ナビゲーションに移動 検索に移動
1,892 バイト追加 、 1 か月前
→‎クラス: また、別々のインスタンスに属する変数は、それぞれ別の変数です。単に、「クラス」とは型の情報や初期値などを提供するだけです。つまりクラスは、変数の集まりをつくるときのメモ帳です。
(→‎メソッド: 上記の説明では不要だってので説明省略しましたが、C#のメソッドは戻り値(返却値、返り値)をひとつ持てます。C++などと同様です。)
(→‎クラス: また、別々のインスタンスに属する変数は、それぞれ別の変数です。単に、「クラス」とは型の情報や初期値などを提供するだけです。つまりクラスは、変数の集まりをつくるときのメモ帳です。)
 
メンバは public にアクセス修飾子を指定しないかぎり、基本的には直接はアクセスできない。
 
 
クラス側の変数宣言において、static 宣言されていない変数は、インスタンスを作成しないかぎり、使うことは出来ません。
 
また、別々のインスタンスに属する変数は、それぞれ別の変数です。単に、「クラス」とは型の情報や初期値などを提供するだけです。つまりクラスは、変数の集まりをつくるときのメモ帳です。
 
個々の変数の実体は、原則的に、(クラス側ではなく)インスタンス側でされています。
 
試しに、複数のインスタンスを作って確認してみましょう。
 
コード例<syntaxhighlight lang="csharp">
using System;
 
class testclass {
public string name;
public int price;
}
 
public class sample {
public static void Main(string[] args) {
 
testclass a = new testclass() ;
 
a.name = "牛乳";
a.price = 140;
Console.WriteLine(a.name);
Console.WriteLine(a.price);
Console.WriteLine();
// 別インスタンスを作成
testclass b = new testclass() ;
 
b.name = "みかんジュース";
b.price = 120;
Console.WriteLine(b.name);
Console.WriteLine(b.price);
Console.WriteLine();
// 牛乳の情報が残ってるかの確認
Console.WriteLine(a.name);
Console.WriteLine(a.price);
Console.WriteLine();
}
}
</syntaxhighlight>
; 実行結果 :<syntaxhighlight lang="text">
牛乳
140
 
みかんジュース
120
 
牛乳
140
 
</syntaxhighlight>
 
このように、最低でも宣言したインスタンスのぶんだけ、変数は新規に確保されます。また、別々のインスタンスにもとづく変数は、それぞれ別個の変数です。なので、上記コードでは「みかんジュース」を宣言しようが「牛乳」はそのまま問題なく残りつづけます。
 
==== コンストラクタ ====
23,094

回編集

案内メニュー