C# クラス メンバー
クラスメンバー
クラス内のフィールドとメソッドは、よく「クラスメンバー」と呼ばれます。
例
2つのフィールドと1つのメソッド3つのクラスメンバーを持つCar
クラスを作成します。
{.language-java .techis-white}
// The class
class MyClass
{
// Class members
string color = "red"; // field
int maxSpeed = 200; // field
public void fullThrottle() // method
{
Console.WriteLine("The car is going as fast as it can!");
}
}
フィールド
前の章で、クラス内の変数はフィールドと呼ばれ、クラスのオブジェクトを作成し、ドット構文 (.
)を使用することで変数にアクセスできる事を学びました。
次の例では、myObj
という名前のCar
クラスのオブジェクトを作成します。次に、フィールドcolor
とmaxSpeed
の値を出力します。
例
{.language-csharp .techis-white}
class Car
{
string color = "red";
int maxSpeed = 200;
static void Main(string[] args)
{
Car
<strong>myObj</strong>
= new Car();
Console.WriteLine(myObj.color);
Console.WriteLine(myObj.maxSpeed);
}
}
フィールドを空白のままにして、オブジェクトの作成時に変更することもできます。
例
{.language-csharp .techis-white}
class Car
{
string color;
int maxSpeed;
static void Main(string[] args)
{
Car
<strong>myObj</strong>
= new Car();
myObj.color = "red";
myObj.maxSpeed = 200;
Console.WriteLine(myObj.color);
Console.WriteLine(myObj.maxSpeed);
}
}
これは、1つのクラスの複数のオブジェクトを作成する場合に特に便利です。
例
{.language-csharp .techis-white}
class Car
{
string model;
string color;
int year;
static void Main(string[] args)
{
Car Ford = new Car();
Ford.model = "Mustang";
Ford.color = "red";
Ford.year = 1969;
Car Opel = new Car();
Opel.model = "Astra";
Opel.color = "white";
Opel.year = 2005;
Console.WriteLine(Ford.model);
Console.WriteLine(Opel.model);
}
}
オブジェクトメソッド
C# メソッドの章で、特定のアクションを実行するためにメソッドが使用されることを学びました。
メソッドは通常、クラスに属し、クラスのオブジェクトがどのように動作するかを定義します。
フィールドと同様に、ドット構文を使用してメソッドにアクセスできます。ただし、メソッドはpublic
である必要があることに注意してください。また、メソッド名の後に 2 つの括弧()
とセミコロン;
を続けて使用することに注意してください。メソッドを呼び出す(実行する)には、次のようにします。
例
{.language-csharp .techis-white}
class Car
{
string color; // field
int maxSpeed; // field
public void fullThrottle() // method
{
Console.WriteLine("The car is going as fast as it can!");
}
static void Main(string[] args)
{
Car
<strong>myObj</strong>
= new Car();
myObj.fullThrottle(); // Call the method
}
}
C#メソッドの章の例の様に、メソッドを
***
static
ではなくpublic
として宣言したのはなぜですか?
理由は簡単です。static
クラスのオブジェクトを作成せずにメソッドにアクセスできますが、public
メソッドはオブジェクトからのみアクセスできます。
複数のクラスを使用する
前の章で、整理を改善するために複数のクラスを使用できることを思い出してください (1つはフィールドとメソッド用、もう1つは実行用)。
これをお勧めします:
prog2.cs
{.language-csharp .techis-white}
class Car
{
public string model;
public string color;
public int year;
public void fullThrottle()
{
Console.WriteLine("The car is going as fast as it can!");
}
}
prog.cs
{.language-csharp .techis-white}
class Program
{
static void Main(string[] args)
{
Car Ford = new Car();
Ford.model = "Mustang";
Ford.color = "red";
Ford.year = 1969;
Car Opel = new Car();
Opel.model = "Astra";
Opel.color = "white";
Opel.year = 2005;
Console.WriteLine(Ford.model);
Console.WriteLine(Opel.model);
}
}
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。