クラスは、C# の基本的な型の 1 つです。クラスは、問題領域に関連するオブジェクトの設計図と考えることができます。これは作成するオブジェクトのテンプレートであり、このクラスから作成されるオブジェクトのセットによって共有される構造と動作を定義します。簡単に言えば、クラスはクッキーカッターであり、オブジェクトはクッキーそのものです。
クラスは、オブジェクト指向プログラミングにおける重要な概念であるカプセル化もサポートしています。これは、データとそのデータを処理する操作を 1 か所で結合し、そのオブジェクトのユーザーにシンプルな API を提供することを意味します。クラスを使用すると、データをカプセル化し、無関係な詳細を他のクラスから隠すことができます。
class キーワードに続いてクラス名を使用して、クラスを作成できます。
// User.cs public class User{ private string name; private int salary; public void Promote(){ salary += 1000; } }
上の例では、User はユーザーを表すクラスです。このクラスは、name と salary という 2 つのデータをカプセル化します。これらはクラス フィールドと呼ばれ、ユーザーの名前と給与が含まれます。また、ユーザーの給与を増やすために使用される Promote() というメソッドもあります。
各クラスには、そのクラスが他のクラスから見えるかどうかを制御するアクセス修飾子が関連付けられています。以下は、アクセス修飾子に指定できる 5 つの値です。
説明 | th> |
---|---|
制限なしアクセス | |
派生クラスへの制限されたアクセス | |
アセンブリへの制限されたアクセス | |
アセンブリまたは派生クラスへの制限されたアクセス | #プライベート |
new 演算子は、オブジェクトのデータに必要なバイト数を計算し、オブジェクトにメモリを割り当てます。次に、新しく作成されたオブジェクトへのポインター (参照とも呼ばれます) を返します。
var alice = new User(); var bob = new User();次に、この参照を等号の左側の変数に保存します。上の例では、アリスとボブは、新しく作成されたオブジェクトへの参照またはポインタを保存します。
C# では、クラスの命名規則は PascalCase に従います。つまり、StringBuilder、UserController など、複合語の各単語の最初の文字が大文字になります。ファイル内のクラス名と一致するクラスを作成する必要はありません。ただし、ほとんどの C# プロジェクトではこの規則が使用されます。
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 サイトの他の関連記事を参照してください。

この記事では、printf内の\ nエスケープシーケンスを使用してcで新しいライン文字を作成し、関数を置く方法について説明します。 機能を詳しく説明し、出力のラインブレークに使用することを示すコード例を提供します。

この記事では、CのNull Poernter recerferenceの課題を調査します。問題は、問題はnullではなく、その誤用であると主張しています。 記事では、参照前のチェック、ポインターInitialiなど、非参照を防止するためのベストプラクティスの詳細

この記事は、Cコンパイラの選択に関する初心者を案内しています。 GCCは、使いやすさ、幅広い可用性、広範なリソースが初心者に最適であるため、最適であると主張しています。 ただし、GCC、Clang、MSVC、およびTCCも比較して、その違いを強調しています

この記事では、現代のCプログラミングにおけるNullの継続的な重要性を強調しています。 進歩にもかかわらず、Nullは明示的なポインター管理にとって重要なままであり、有効なメモリアドレスがないことをマークすることにより、セグメンテーションの障害を防ぎます。 最高のPRAC

この記事では、初心者向けのオンラインCコンパイラをレビューし、使いやすさとデバッグ機能に焦点を当てています。 OnlineGDBとRepl.itは、ユーザーフレンドリーなインターフェイスと役立つデバッグツールのために強調表示されます。 プログラムやコンパイルなどのその他のオプション

この記事では、C IDEでの効率的なコードコピーについて説明します。 コピーはコンパイラ機能ではなくIDE機能であり、IDE選択ツールの使用、コード折りたたみ、検索/交換、テンプラなど、効率を向上させるための詳細戦略であることを強調しています。

この記事では、オンラインCプログラミングプラットフォームを比較し、デバッグツール、IDE機能、標準コンプライアンス、メモリ/実行の制限などの機能の違いを強調しています。 「最良の」プラットフォームはユーザーのニーズに依存していると主張しています。

このチュートリアルは、Windows、MacOS、LinuxにCコンパイラをインストールすることでユーザーをガイドします。 人気のコンパイラ(MINGW、Visual Studio、XCode、GCC)のインストールを詳述し、環境可変構成を説明し、トラブルシューティング手順を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール
