Erweitern einer Klasse in C#
In diesem Tutorial erfahren Sie, wie Sie eine Klasse mit der Programmiersprache C# erweitern.
Verwenden Sie Vererbung, um eine Klasse in C#
zu erweitern
Bei der Arbeit mit der objektorientierten Programmierung (OOP
) ist die Vererbung einer hierarchischen Ebene zugeordnet. Obwohl es machbar ist, eine abgeleitete
Klasse in ihre Basis
-Klasse umzuwandeln, können wir nicht das Gegenteil tun.
Es ist unmöglich, von einer Basis
-Klasse in eine abgeleitete
Klasse umzuwandeln. Schauen Sie sich das folgende Beispiel an, um es besser zu verstehen.
Im folgenden Beispiel fügen wir dem neuen Objekt nacheinander Eigenschaften hinzu und verwenden dann das neue Objekt, um eine einzelne Eigenschaft des vorherigen zu erweitern.
-
Importieren Sie zunächst die folgenden Bibliotheken.
using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions;
-
Erstellen Sie eine Klasse
Person
mit den EigenschaftenFirstname
undLastname
.public class Person { public string Firstname { get; set; } public string Lastname { get; set; } public Person(string fname, string lname) { Firstname = fname; Lastname = lname; } }
-
Konstruktorüberladung wird nun verwendet, um aus einer
Person
einenStudent
zu bauen.public class Student : Person { public Student(Person person, string code) : base(person.Firstname, person.Lastname) { this.code = code; } public Student(Person person) : base(person.Firstname, person.Lastname) {} public string code { get; set; } }
-
In der
Main()
-Methode erstellen wir einPerson
-Objekt und füllen es wie unten beschrieben mit Daten.Person person = new Person("Muhammad Zeeshan", "Khan");
-
Erstellen Sie dann zwei
Student
-Objekte namenss1
unds2
und übergeben Sie dasperson
-Objekt undcode
als Parameter.Student s1 = new Student(person, "3229"); Student s2 = new Student(person, "3227");
-
Zuletzt drucken wir die
Student
-Objekte mitPerson
-Eigenschaften.Console.WriteLine(s1.code); Console.WriteLine(s2.code);
-
Vollständiger Quellcode.
using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; public class Person { public string Firstname { get; set; } public string Lastname { get; set; } public Person(string fname, string lname) { Firstname = fname; Lastname = lname; } } public class Student : Person { public Student(Person person, string code) : base(person.Firstname, person.Lastname) { this.code = code; } public Student(Person person) : base(person.Firstname, person.Lastname) {} public string code { get; set; } } static class Program { static void Main(string[] args) { Person person = new Person("Muhammad Zeeshan", "Khan"); Student s1 = new Student(person, "3229"); Student s2 = new Student(person, "3227"); Console.WriteLine(s1.code); Console.WriteLine(s2.code); } }
Ausgang:
3229 3227
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn