Kurse:Moderne-C-Charp Class Aufbau: Unterschied zwischen den Versionen
// via Wikitext Extension for VSCode |
(kein Unterschied)
|
Version vom 7. September 2025, 03:56 Uhr
Aufbau einer modernen C#-Klasse
Eine Klasse bündelt Daten (Eigenschaften) und Verhalten (Methoden). Modernes C# nutzt file-scoped Namespaces, Auto-Properties, required/init, Expression-bodied Members, Events und optional Primärkonstruktoren (C# 12).
Minimales Gerüst
namespace MeineApp;
public class Person
{
public required string Name { get; init; }
public int Alter { get; set; }
public void Begruessen() => Console.WriteLine($"Hallo, mein Name ist {Name}.");
}
Maximales Gerüst
namespace MeineApp.Models;
public class Person
{
// Primärkonstruktor (ab C# 12)
public Person(string name, int alter)
{
Name = name;
Alter = alter;
}
// Auto-Properties mit required und init
public required string Name { get; init; }
public int Alter { get; set; }
// Event
public event EventHandler? Begruesst;
// Expression-bodied Member
public string Info => $"{Name} ({Alter} Jahre)";
// Methode mit Event-Auslösung
public void Begruessen()
{
Console.WriteLine($"Hallo, mein Name ist {Name}.");
Begruesst?.Invoke(this, EventArgs.Empty);
}
// Statische Factory-Methode
public static Person Erstellen(string name) => new(name, 0);
}
Klassisches Klassen-Formular
namespace MeineApp.Classic
{
public class Person
{
private string _name;
private int _alter;
public Person(string name, int alter)
{
_name = name;
_alter = alter;
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public int Alter
{
get { return _alter; }
set { _alter = value; }
}
public void Begruessen()
{
Console.WriteLine("Hallo, mein Name ist " + _name + ".");
}
}
}
Praxis: Gemachte Form
namespace MeineApp.Praxis;
public class Person
{
public required string Name { get; init; }
public int Alter { get; set; }
public string Beruf { get; set; } = "Unbekannt";
public void Begruessen()
{
Console.WriteLine($"Hallo, ich bin {Name}, {Alter} Jahre alt und arbeite als {Beruf}.");
}
public void GeburtstagFeiern()
{
Alter++;
Console.WriteLine($"Alles Gute zum Geburtstag, {Name}! Du bist jetzt {Alter}.");
}
}
- 20 einfache Praxis-Übungen für moderne C#-Klassen (für Einsteiger)
1. Eine Klasse für einen Hund mit Name und Alter. 2. Eine Klasse für ein Auto mit Marke und Baujahr. 3. Eine Klasse für ein Buch mit Titel und Autor. 4. Eine Klasse für einen Schüler mit Name und Note. 5. Eine Klasse für einen Ball mit Farbe und Größe. 6. Eine Klasse für eine Lampe mit An/Aus-Status. 7. Eine Klasse für ein Rechteck mit Breite und Höhe. 8. Eine Klasse für einen Würfel mit Methode zum Würfeln. 9. Eine Klasse für eine Einkaufsliste mit Produkten. 10. Eine Klasse für einen Timer mit Start/Stop. 11. Eine Klasse für einen Musik-Track mit Titel und Dauer. 12. Eine Klasse für eine Adresse mit Straße und Stadt. 13. Eine Klasse für einen Film mit Titel und Bewertung. 14. Eine Klasse für ein Konto mit Kontostand. 15. Eine Klasse für eine Nachricht mit Text und Absender. 16. Eine Klasse für eine Temperatur mit Umrechnung Celsius/Fahrenheit. 17. Eine Klasse für einen Kalender-Eintrag mit Datum und Beschreibung. 18. Eine Klasse für eine Aufgabe mit Erledigt-Status. 19. Eine Klasse für einen Kontakt mit Name und Telefonnummer. 20. Eine Klasse für eine Ampel mit Status (Rot/Gelb/Grün).