C# クラスとオブジェクト
C# クラスとオブジェクト
このチュートリアルでは、例を使用して C# のクラスとオブジェクトの概念について学習します。
C# はオブジェクト指向プログラムです。オブジェクト指向プログラミング (OOP) では、複雑な問題をオブジェクトに分割することで解決します。
オブジェクトを操作するには、次のアクティビティを実行する必要があります:
- クラスを作成する
- クラスからオブジェクトを作成
C# クラス
オブジェクトについて学ぶ前に、クラスの働きを理解する必要があります。クラスはオブジェクトの設計図です。
クラスは家のスケッチ(プロトタイプ)と考えることができます .床、ドア、窓などに関するすべての詳細が含まれています。これらの説明に基づいて家を建てることができます。 ハウス
スケッチから多くの家を作ることができるように、クラスから多くのオブジェクトを作成できます。
C# でクラスを作成
class キーワードを使用してオブジェクトを作成します。たとえば、
class ClassName {
}
ここでは、ClassName という名前のクラスを作成しました。 .クラスには
を含めることができます- フィールド - データを保存する変数
- 方法 - 特定のタスクを実行する機能
例を見てみましょう。
class Dog {
//field
string breed;
//method
public void bark() {
}
}
上記の例では、
- 犬 - クラス名
- 品種 - フィールド
- bark() - メソッド
注意 :C# では、クラス内のフィールドとメソッドはクラスのメンバーと呼ばれます。
C# オブジェクト
オブジェクトはクラスのインスタンスです。 Dog クラスがあるとします。 .ブルドッグ、ジャーマン シェパード、パグはクラスのオブジェクトです。
クラスのオブジェクトの作成
C# では、クラスのオブジェクトを作成する方法を次に示します。
ClassName obj = new ClassName();
ここでは、new
を使用しました。 クラスのオブジェクトを作成するためのキーワード。そして、obj オブジェクトの名前です。それでは、Dog からオブジェクトを作成しましょう。 クラス。
Dog bullDog = new Dog();
さて、ブルドッグ オブジェクトは Dog のフィールドとメソッドにアクセスできます クラス。
オブジェクトを使用してクラス メンバーにアクセスする
.
とともにオブジェクトの名前を使用します クラスのメンバーにアクセスする演算子。たとえば、
using System;
namespace ClassObject {
class Dog {
string breed;
public void bark() {
Console.WriteLine("Bark Bark !!");
}
static void Main(string[] args) {
// create Dog object
Dog bullDog = new Dog();
// access breed of the Dog
bullDog.breed = "Bull Dog";
Console.WriteLine(bullDog.breed);
// access method of the Dog
bullDog.bark();
Console.ReadLine();
}
}
}
出力
Bull Dog Bark Bark !!
上記のプログラムでは、bullDog という名前のオブジェクトを作成しました。 犬から クラス。オブジェクト名と .
を使用していることに注意してください (ドット演算子) 品種にアクセスします フィールド
// access breed of the Dog
bullDog.breed = "Bull Dog";
そして bark() メソッド
// access method of the Dog
bullDog.bark();
クラスの複数のオブジェクトの作成
同じクラスから複数のオブジェクトを作成できます。たとえば、
using System;
namespace ClassObject {
class Employee {
string department;
static void Main(string[] args) {
// create Employee object
Employee sheeran = new Employee();
// set department for sheeran
sheeran.department = "Development";
Console.WriteLine("Sheeran: " + sheeran.department);
// create second object of Employee
Employee taylor = new Employee();
// set department for taylor
taylor.department = "Content Writing";
Console.WriteLine("Taylor: " + taylor.department);
Console.ReadLine();
}
}
}
出力
Sheeran: Development Taylor: Content Writing
上記の例では、2 つのオブジェクトを作成しました:sheeran とテイラー 従業員から クラス。
ここでは、両方のオブジェクトが独自のバージョンの 部門 を持っていることがわかります 異なる値を持つフィールド。
別のクラスでのオブジェクトの作成
C# では、あるクラスのオブジェクトを別のクラスに作成することもできます。たとえば、
たとえば、
using System;
namespace ClassObject {
class Employee {
public string name;
public void work(string work) {
Console.WriteLine("Work: " + work);
}
}
class EmployeeDrive {
static void Main(string[] args) {
// create Employee object
Employee e1= new Employee();
Console.WriteLine("Employee 1");
// set name of the Employee
e1.name="Gloria";
Console.WriteLine("Name: " + e1.name);
//call method of the Employee
e1.work("Coding");
Console.ReadLine();
}
}
}
出力
Employee 1 Name: Gloria Work: Coding
上記の例では、2 つのクラスがあります:Employee と EmployeeDrive .ここでは、オブジェクト e1 を作成しています 従業員の EmployeeDrive のクラス クラス。
e1 を使用しました Employee のメンバーにアクセスするためのオブジェクト EmployeeDrive のクラス . Employee のメンバーが クラスは public
です .
ここでは、public
クラスメンバーが他のクラスからアクセスできることを意味するアクセス指定子です。詳細については、C# アクセス修飾子をご覧ください。
オブジェクトとクラスを使用する理由
オブジェクトとクラスは、大きなプロジェクトを小さなサブ問題に分割するのに役立ちます.
何百もの敵がいて、それぞれに health のようなフィールドがあるゲームを作成したいとします。 、弾薬 、および shoot() などのメソッド および run() .
OOP を使用すると、単一の 敵 を作成できます 必須フィールドとメソッドを持つクラス。次に、そこから複数の敵オブジェクトを作成できます。
各敵オブジェクトには、独自のバージョンの ヘルス があります そして弾薬 田畑。そして、彼らは共通の shoot() を使用できます および run() メソッド。
これで、プロジェクトを変数とメソッドの観点から考える代わりに、オブジェクトの観点から考えることができます。
これにより、複雑さを管理し、コードを再利用可能にすることができます。
C言語