Heim  >  Artikel  >  Backend-Entwicklung  >  Sharing-Methoden zur flexiblen Nutzung von Klassen in C#

Sharing-Methoden zur flexiblen Nutzung von Klassen in C#

黄舟
黄舟Original
2017-03-21 11:20:271407Durchsuche

In diesem Artikel wird hauptsächlich die flexible Verwendung von Klassen in C# vorgestellt, die einen sehr guten Referenzwert hat. Schauen wir uns das mit dem folgenden Editor an

Konstruktor

Zusammenfassung: Der Konstruktor ist eine spezielle Methode in einer Klasse. Er schließt hauptsächlich die Initialisierung des Objekts ab und erledigt die angegebene Arbeit beim Erstellen des Objekts. Darüber hinaus ist der Name der Konstruktormethode mit dem Klassennamen identisch und es gibt keinen Rückgabewerttyp.

Konstruktor ohne Argumente

Standardmäßig weist das System der Klasse einen Konstruktor ohne Argumente zu, und das gibt es auch kein Methodenkörper. Wir können aber auch einen parameterlosen Konstruktor anpassen, um den Eigenschaften beim Erstellen des Objekts automatisch einen Standardwert zuzuweisen.

class Demo
 {
 public string DemoName { get; set; }
 public Demo() //创建无参构造函数
 {
 this.DemoName = "无参构造函数"; //方法体内写在创建对象时需要初始化的属性
 }
 }

Tipps: Die Tastenkombination zum Erstellen eines parameterlosen Konstruktors in Visual Studio ist „ctor“ + zwei Tabulatortasten; die Tastenkombination zum Erstellen einer Eigenschaft ist „prop“ + zwei Tabulatortasten.

Konstruktor mit Parametern

Manchmal müssen wir beim Erstellen des Objekts einige Werte für die Eigenschaften des Objekts angeben, und zwar diese Werte ​​​​sind sicher, daher benötigen wir einen parametrisierten Konstruktor.

class Demo
 {
 public string DemoName { get; set; }
 public Demo(string DemoName) //创建带参构造函数
 {
 this.DemoName = DemoName;
 }
 }
 class Test
 {
 Demo demo = new Demo("带参构造函数"); //创建对象时在小括号内指定值
 }

Ein paar weitere Dinge, die Sie beachten sollten:

1. Beim Erstellen eines Objekts müssen die in Klammern angegebenen Parameter gleich sein Die Parameterliste zum Erstellen der Funktion ist dieselbe.

2. Nachdem es in der Klasse einen Konstruktor mit Parametern gibt, muss beim Erstellen eines Objekts der entsprechende Wert in Klammern angegeben werden. Denn in C# wird, sobald eine Klasse einen Konstruktor hat, dieser nicht mehr automatisch zugewiesen. (Es wird empfohlen, nach dem Erstellen eines parametrisierten Konstruktors einen parameterlosen Konstruktor zu erstellen.)

Zusätzlich:

Es gibt eine weitere Verknüpfung Die Methode zum Initialisieren Eigenschaften, also der Objektinitialisierer.

Verwendung: Demo demo = new Demo(){ Name = "Object Initializer"};

Oder: Demo demo = new Demo{ Name = "Object Initializer"};

Methodenüberladung

Zusammenfassung: Dasselbe, unterschiedliche Vorgänge entsprechend unterschiedlichen Parametern ausführen, also Methodenüberladung.

Funktionen: Jede Methode hat den gleichen Namen, eine andere Parameterliste und ist in derselben Klasse.

Hinweis: Unterschiedliche Parameterlisten bedeuten, dass die Parametertypen jeder Methode unterschiedlich sind oder die Parameterreihenfolge unterschiedlich ist oder die Anzahl der Parameter unterschiedlich ist.

Nur ​​unterschiedliche Rückgabewerte stellen keine Methodenüberladung dar.

Beispiel:

 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);
 }
 }

Das obige ist der detaillierte Inhalt vonSharing-Methoden zur flexiblen Nutzung von Klassen in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn