ホームページ > バックエンド開発 > C#.Net チュートリアル > C# のクラスの概念を説明する

C# のクラスの概念を説明する

WBOY
リリース: 2023-08-27 22:45:14
転載
1476 人が閲覧しました

クラスは、C# の基本的な型の 1 つです。クラスは、問題領域に関連するオブジェクトの設計図と考えることができます。これは作成するオブジェクトのテンプレートであり、このクラスから作成されるオブジェクトのセットによって共有される構造と動作を定義します。簡単に言えば、クラスはクッキーカッターであり、オブジェクトはクッキーそのものです。

クラスは、オブジェクト指向プログラミングにおける重要な概念であるカプセル化もサポートしています。これは、データとそのデータを処理する操作を 1 か所で結合し、そのオブジェクトのユーザーにシンプルな API を提供することを意味します。クラスを使用すると、データをカプセル化し、無関係な詳細を他のクラスから隠すことができます。

class キーワードに続いてクラス名を使用して、クラスを作成できます。

// User.cs
public class User{
   private string name;
   private int salary;
   public void Promote(){
      salary += 1000;
   }
}
ログイン後にコピー

上の例では、User はユーザーを表すクラスです。このクラスは、namesalary という 2 つのデータをカプセル化します。これらはクラス フィールドと呼ばれ、ユーザーの名前と給与が含まれます。また、ユーザーの給与を増やすために使用される Promote() というメソッドもあります。

各クラスには、そのクラスが他のクラスから見えるかどうかを制御するアクセス修飾子が関連付けられています。以下は、アクセス修飾子に指定できる 5 つの値です。

#アクセス修飾子説明パブリック 制限なしアクセス 保護された 派生クラスへの制限されたアクセス プログラムへの内部 アセンブリへの制限されたアクセス#保護された内部#プライベート外部アクセスなしクラスのインスタンスを作成するには、< /tbody>new
アセンブリまたは派生クラスへの制限されたアクセス
キーワードを使用できます。

new 演算子は、オブジェクトのデータに必要なバイト数を計算し、オブジェクトにメモリを割り当てます。次に、新しく作成されたオブジェクトへのポインター (参照とも呼ばれます) を返します。

var alice = new User();
var bob = new User();
ログイン後にコピー
次に、この参照を等号の左側の変数に保存します。上の例では、アリスとボブは、新しく作成されたオブジェクトへの参照またはポインタを保存します。

C# では、クラスの命名規則は PascalCase に従います。つまり、StringBuilder、UserController など、複合語の各単語の最初の文字が大文字になります。ファイル内のクラス名と一致するクラスを作成する必要はありません。ただし、ほとんどの C# プロジェクトではこの規則が使用されます。 C# のクラスの概念を説明する

Constructor

上記の例では、User クラスのインスタンス (つまり、alice と bob) を作成するときに、最初の名前と給与を指定しませんでした。通常、新しく作成されたオブジェクトがそのジョブを実行するには何らかの情報が必要であり、クラスのデータを初期化するためにコンストラクターが使用されます。

コンストラクターを追加して、次のようにユーザーの名前と給与を指定できます。

public class User{
   private string name;
   private int salary;
   public User(string name, int salary){
      this.name = name;
      this.salary = salary;
   }
   public void Promote(){
      salary += 1000;
   }
}
ログイン後にコピー

コンストラクターを使用すると、新しいインスタンスの作成時にユーザーの名前と給与を渡すことができます。

var alice = new User("Alice", 50000);
var bob = new User("Bob", 45000);
ログイン後にコピー

クラス内には複数のコンストラクターが存在する場合があります。複数のコンストラクターがあると、さまざまな方法でクラスを初期化できます。たとえば、ユーザー名を取得してデフォルトの給与を割り当てるだけの別のコンストラクターを追加できます。

public User(string name){
   this.name = name;
   this.salary = 50000;
}
ログイン後にコピー

Example

サンプルのデモンストレーション

using System;
class Program{
   static void Main(){
      var alice = new User();
      alice.Print();

      var bob = new User();
      bob.Print();
      var chris = new User("Chris", 50000);
      chris.Print();
      var debs = new User("Debs", 45000);
      debs.Print();

      var scott = new User("Scott");
      scott.Print();
   }
}
public class User{
   private string name;
   private int salary;
   public User(){

   }
   public User(string name){
      this.name = name;
      this.salary = 50000;
   }
   public User(string name, int salary){
      this.name = name;
      this.salary = salary;
   }
   public void Promote(){
      salary += 1000;
   }
   public void Print(){
      Console.WriteLine($"{name}: {salary}");
   }
}
ログイン後にコピー

出力

: 0
: 0
Chris: 50000
Debs: 45000
Scott: 50000
ログイン後にコピー

以上がC# のクラスの概念を説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート