Einführung in Klassen & Objekte
Teil des Abschnitts Objektorientierte Programmierung der C#-Journey von Coddy. Lektion 3 von 70.
Eine Klasse ist ein Bauplan für das Erstellen von Objekten. Ein Objekt ist eine Instanz einer Klasse, die Daten und Verhalten enthält.
Definieren Sie eine einfache Klasse mit Eigenschaften
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}Fügen Sie einen Konstruktor hinzu, um das Objekt zu initialisieren
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}Fügen Sie eine Methode hinzu, um das Verhalten zu definieren
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
public string Bark()
{
return $"{Name} says Woof!";
}
}Erstellen Sie ein Objekt (Instanz) und verwenden Sie es
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");Ausgabe:
Buddy says Woof!
Age: 3Das Schlüsselwort new erzeugt eine Instanz der Klasse und ruft dabei den Konstruktor auf. Sie können mehrere Objekte aus derselben Klasse erstellen, jedes mit unterschiedlichen Daten.
Aufgabe
EinfachVervollständige die Klasse Car, indem du einen Konstruktor und eine Methode Drive() hinzufügst. Erstelle dann ein Car-Objekt in Program.cs und verwende es.
Die Methode Drive() sollte Folgendes zurückgeben: "The {Brand} is driving!"
Probier es selbst
using System;
class Program
{
static void Main()
{
string brand = Console.ReadLine();
int year = int.Parse(Console.ReadLine());
// TODO: Erstellen Sie ein Car-Objekt mit den Eingabewerten
// TODO: Geben Sie "Car: {brand} ({year})" aus
// TODO: Rufen Sie die Drive()-Methode auf und geben Sie das Ergebnis aus
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienNamespaces & DirektivenEinführung in Klassen & ObjekteDas 'this'-SchlüsselwortMethoden und ParameterFelder vs. EigenschaftenKonstruktorenObjektinitialisiererWiederholung – Einfacher Taschenrechner4Vererbung
Grundlegende Vererbungs-(:)-SyntaxDas „base“-Schlüsselwort„virtual“- und „override“-SchlüsselwörterVersiegelte KlassenDie „object“-BasisklasseWiederholung – Mitarbeiterhierarchie7Erweiterte Funktionen
Überladen von OperatorenIndexer (this[])ToString()-ÜberschreibungErweiterungsmethodenRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterThread-sicheres SingletonFactory-MusterObserver-Muster (Events)Strategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformKomponente für SpielfigurenFahrzeugvermietungsdienst2Eigenschaften & statische Member
Automatisch implementierte EigenschaftenNur lesbare/schreibbare EigenschaftenStatische Felder & MethodenStatische KlassenMember mit Ausdruckskörpern5Polymorphie & Interfaces
Compile- vs. Laufzeit-PolymorphieInterface vs. abstrakte KlasseMehrere InterfacesExplizite InterfacesUpcasting & DowncastingWiederholung – Formenrechner3Klassenarchitektur
Instanz- vs. statische DatenSchlüsselwörter 'readonly' & 'const'Backing FieldsRückblick – Bankkontenverwaltung6Kapselung
ZugriffsmodifikatorenEigenschaften zur KapselungImplementierung der DatenkapselungMuster für UnveränderlichkeitRückblick – SchülerdatenÜbe selbstständig: Online-C#-Compiler