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!"
Spickzettel
Eine Klasse ist ein Bauplan für die Erstellung von Objekten. Ein Objekt ist eine Instanz einer Klasse, die Daten und Verhalten enthält.
Definieren Sie eine 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 Methoden hinzu, um Verhalten zu definieren:
public string Bark()
{
return $"{Name} says Woof!";
}Erstellen Sie ein Objekt mit dem Schlüsselwort new:
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");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. EigenschaftenKonstruktorenObjekt-InitialisiererZusammenfassung - Einfacher Taschenrechner4Vererbung
Grundlagen der Vererbung (:) SyntaxDas 'base'-SchlüsselwortVirtual & Override SchlüsselwörterVersiegelte KlassenDie 'object'-BasisklasseZusammenfassung – Mitarbeiter-Hierarchie7Fortgeschrittene Funktionen
OperatorüberladungIndexer (this[])ToString() überschreibenErweiterungsmethodenZusammenfassung - Benutzerdefinierte Liste2Eigenschaften & Statische Member
Automatisch implementierte EigenschaftenRead-Only- & Write-Only-EigenschaftenStatische Felder & MethodenStatische KlassenExpression-Bodied Member5Polymorphismus & Interfaces
Compile- vs. Runtime-PolymorphismusInterface vs. abstrakte KlasseMehrfache InterfacesExplizite InterfacesUpcasting & DowncastingRecap – Shape Calculator3Klassenarchitektur
Instanz- vs. statische Daten'readonly' & 'const' SchlüsselwörterBacking FieldsZusammenfassung - Bankkonto-Manager6Kapselung
ZugriffsmodifikatorenProperties zur KapselungImplementierung von Data HidingImmutability-MusterRückblick – Studierendendaten