Klassen
Eine Klasse ist ein benannter Typ, den du mit class deklarierst. Lege public class Badge in dieselbe Lehrdatei wie Pine, oder halte ihn als zweiten Typ neben Pine. Innerhalb von Badge schreibe eine kurze static-Methode show, die ready schreibt. In Pine behalte Main und rufe Badge.show(); auf. Starte mit dotnet run. Der Bildschirm sollte eine Zeile zeigen: ready. Hier zählst du nicht mit Rekursion herunter. Du benennst einen zweiten Typ und lässt dessen Methode schreiben. Genau dieser zweite benannte Typ — eine Klasse, die nicht nur die Startklasse ist — ist das Lehrziel dieser Seite. Behalte den öffentlichen Startklassennamen Pine.
Der Typ sitzt neben dem Starter
Bis zu den Methodenseiten lag Main und die Hilfsmethoden fast überall in einer öffentlichen Klasse namens Pine. Das funktioniert weiter. Diese Seite fügt absichtlich eine zweite Klasse hinzu. Badge ist ein Typname. Er muss nicht das startende Programm sein. Pine ist das startende Programm. In dieser Anfängerform können beide Typen in einer Datei leben, damit dotnet run einfach bleibt. Entscheidend ist der Typname: Badge besitzt show, und Pine verlangt danach.
Öffne die Pine-Datei. Der Startklassenname bleibt Pine. Diese Seite benennt den Starter nicht um. Lösche jeden übrig gebliebenen down-Rekursionsteil, falls das noch alles ist, was in Main steht. Lösche jeden mark-Rest. Lösche jede ReadLine-Zeile. Die Datei, die du behältst, wartet nicht auf Tippen.
Außerhalb der geschweiften Klammern von Pine — noch in derselben Datei — schreibe public class Badge. Innerhalb von Badge schreibe static void show(). Der Körper ist eine Schreibzeile: Console.WriteLine("ready");. Behalte void auf dieser Seite. Die Methode gibt keine Zahl zurück. Sie schreibt nur ein Wort. In Badge gibt es auf dieser Seite kein Main. Das ist Absicht. Eine Klasse kann Methoden halten, ohne die Startklasse zu sein.
Speichere die Datei vor dem Lauf. Das erste Programm in der Box zeigt Badge allein, damit du den Typ klar liest. Das zweite Programm in der Box ist die volle behaltene Form mit Pine und Badge zusammen.
using System;
public class Badge
{
static void show()
{
Console.WriteLine("ready");
}
}
Pine startet; Badge schreibt
Pine behält public static void Main(). Innerhalb von Main schreibe einen Aufruf: Badge.show();. Dieser Aufruf nennt den Typ Badge, einen Punkt, dann die Methode show. Du schreibst nicht allein show(); in Pine, es sei denn, show lebt auch in Pine. Auf dieser Seite gehört show zu Badge, also trägt der Aufruf den Typnamen.
using System;
public class Pine
{
public static void Main()
{
Badge.show();
}
}
public class Badge
{
static void show()
{
Console.WriteLine("ready");
}
}
Lies die behaltene Datei von oben. using System; bereitet kurze Namen vor. public class Pine ist der Starter. public static void Main() ist der Einstieg der Laufzeit. Der Aufruf Badge.show() betritt die Methode im Typ Badge. Diese Methode schreibt ready und kehrt zurück. Dann endet Pine. Das Wort auf dem Bildschirm kam von Badge, nicht von einem WriteLine innerhalb von Pine selbst. Diese Trennung ist der Punkt: eine Klasse startet das Programm; eine andere Klasse besitzt die Hilfe.
Führe es mit dotnet run aus. Das Programm schreibt eine Zeile und stoppt. Es wartet nicht auf deine Eingabe. Wenn dotnet run wartet, steckt ReadLine noch in der Datei. Lösche diese Zeile und behalte Badge.show(); in Pine plus die show-Methode in Badge. Der Bildschirm zeigt ready. Zeigt der Bildschirm 3, dann 2, dann 1, läuft noch ein übrig gebliebener down(3)-Aufruf. Zeigt der Bildschirm die Buchstaben Badge, hat eine Schreibzeile Anführungszeichen: Console.WriteLine("Badge");. Installiere das .NET SDK nicht neu wegen eines Bildschirms mit der falschen Zeile.
Geh den Lauf noch einmal der Reihe nach durch. C# startet bei Pine.Main. Die einzige Anweisung dort ist Badge.show();. Dieser Aufruf springt in die show-Methode von Badge. Innerhalb von show schreibt WriteLine den Wert ready. Dann endet show, und in Main bleibt nichts übrig — das Programm endet. Du hast Console.WriteLine("ready"); auf dieser Seite nicht in Pine gelegt. Du hast es unter Badge gelegt und über den Typnamen angefordert.
Typ neben Rolle
Lies die Paarung einmal in einer kleinen Tabelle. Jede Klasse hat auf dieser Seite eine Aufgabe.
📊 type beside role
| Type | Role on this page |
|---|---|
Badge |
type that holds show |
Pine |
program that holds Main |
Ein häufiger Mix-up ist, in Pine show(); ohne das Präfix Badge. zu schreiben, obwohl show nur auf Badge existiert. Dann sucht der Build show in Pine und findet es nicht. Ein anderer Mix-up ist, Main nur auf Badge zu legen und aus Pine zu entfernen, während du noch die alte Starterform erwartest — behalte Main auf Pine für die behaltene Datei dieser Lektion. Übrig gebliebene Rekursion-Demos können Main verwirren. Räume Main auf Badge.show(); auf, während du die Zwei-Typen-Form lernst. Du brauchst hier kein down.
Console.WriteLine("Badge"); in Pine zu schreiben schreibt das Wort Badge. Es ruft die Methode auf dem Typ nicht auf. Behalte Badge.show();, wenn du die Schreibzeile willst, die in Badge lebt.
Was diese Seite noch nicht tut
Diese Seite schreibt kein new Badge(). Ein Objekt aus einer Klasse zu erzeugen ist die nächste Seite. Hier ist der Aufruf Badge.show() — eine static-Methode am Typnamen selbst. Du speicherst auch noch keine Felder auf einem badge. Felder warten auf eine spätere Seite in diesem Modul. Die Aufgabe jetzt ist nur der benannte Typ neben dem Starter und ein Aufruf, der diesen Typnamen nutzt.
Du kannst das geschriebene Wort in show auf set ändern und erneut laufen lassen. Der Bildschirm sollte dem String folgen, den du in Badge gesetzt hast. Pine behält denselben Aufruf. So siehst du die Trennung noch einmal: Methode des Typs ändern, Aufruf des Starters behalten.
Verschachtele Badge nicht in den geschweiften Klammern von Pine. Auf dieser Seite sitzen die beiden Klassen als Geschwister in der Datei. Methoden von Badge sitzen in Badge. Main sitzt in Pine.
Du kannst public class Badge deklarieren, darin static void show() legen und aus Pine.Main mit Badge.show(); aufrufen. Starte mit dotnet run. Der Bildschirm zeigt die Zeile, die show geschrieben hat. Eine Klasse ist genau dieser benannte Typ. Denk an Badge als beschriftetes Regal für Hilfen, die das Programm nicht starten müssen. Pine bleibt die Tür, die du mit dotnet run öffnest. Die nächste Seite ist objects; dort baust du mit new einen Wert aus einer Klasse.
Der Bildschirm hält die Schreibzeile von Badge
Die Datei, die du behältst, schreibt ready, wenn Main Badge.show(); aufruft. Der Name Badge steht im Aufruf, und die Buchstaben Badge erscheinen nicht als gedrucktes Etikett auf dem Bildschirm, es sei denn, du hast sie in Anführungszeichen gesetzt. Badge in Pine zu verschachteln ist nicht die Form, die diese Lektion baut.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt