この記事では主にC#クラスを柔軟に使用する方法を紹介します。これは非常に参考になります。以下のエディターで見てみましょう
Constructor
概要: コンストラクターは特別な種類のクラスです。メソッドは主にオブジェクトの初期化作業を完了し、オブジェクトの作成時に指定された作業を完了します。また、コンストラクタのメソッド名はクラス名と同じであり、戻り値の型はありません。
パラメータなしのコンストラクタ
デフォルトでは、システムはパラメータなしのコンストラクタをクラスに割り当て、メソッド本体はありません。ただし、パラメーターのないコンストラクターをカスタマイズして、オブジェクトの作成時にプロパティにデフォルト値を自動的に与えることもできます。
class Demo { public string DemoName { get; set; } public Demo() //创建无参构造函数 { this.DemoName = "无参构造函数"; //方法体内写在创建对象时需要初始化的属性 } }
ヒント: Visual Studio でパラメーターなしのコンストラクターを作成するショートカットは、「ctor」 + 2 つのタブ キーです。プロパティを作成するショートカットは、「prop」 + 2 つのタブ キーです。
パラメータ付きコンストラクタ
オブジェクトの作成時にオブジェクトのプロパティにいくつかの値を指定する必要がある場合がありますが、これらの値は確実であるため、パラメータ付きのコンストラクタが必要です。
class Demo { public string DemoName { get; set; } public Demo(string DemoName) //创建带参构造函数 { this.DemoName = DemoName; } } class Test { Demo demo = new Demo("带参构造函数"); //创建对象时在小括号内指定值 }
さらに、注意すべき点がいくつかあります:
1. オブジェクトを作成するとき、括弧内に指定されたパラメーターは、パラメーター化されたコンストラクター 関数のパラメーター リストと同じである必要があります。
2. クラス内にパラメーターを持つコンストラクターがある場合、オブジェクトの作成時に対応する値を括弧内に指定する必要があります。 C# では、クラスにコンストラクターが含まれると、そのコンストラクターは自動的に割り当てられなくなります。 (パラメーター化されたコンストラクターを作成した後、パラメーターなしのコンストラクターを作成することをお勧めします。)
追加:
プロパティを初期化する別の簡単な方法、つまりオブジェクト初期化子があります。
使用法: Demo デモ = new Demo(){ Name = "Object Initializer"};
または: Demo デモ = new Demo{ Name = "Object Initializer"};
概要: 同じことですが、異なるパラメータに基づいて異なる操作を実行します。つまり、メソッドのオーバーロードです。
特徴: 各メソッドは同じ名前、異なるパラメータリストを持ち、同じクラスに属します。
注: パラメーター リストが異なるということは、各メソッドのパラメーターの型が異なるか、パラメーターの順序が異なるか、パラメーターの数が異なることを意味します。
戻り値が異なるだけではメソッドのオーバーロードにはなりません。
例:
class Demo { public string DemoName { get; set; } /*********构造函数重载********/ public Demo() { this.DemoName = "无参构造函数"; } public Demo(string demoName) { this.DemoName = demoName; } /**********方法重载**********/ public void SayHello(string name) { Console.WriteLine("你好,我是{0},很高兴认识你。", name); } public void SayHello(string name, int age) { Console.WriteLine("你好,我是{0},今年{1}岁,很高兴认识你。", name, age); } } class Test { /*********构造函数重载********/ Demo demo = new Demo(); Demo demo1 = new Demo("带参构造函数"); /**********方法重载**********/ public void Test() { demo.SayHello("小明"); demo.SayHello("小明", 18); } }
以上がC# でクラスを柔軟に使用するための共有メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。