Herausforderung: Schlüsselwort `static`
Swipe um das Menü anzuzeigen
In dieser Aufgabe sollen Sie:
- Ein neues privates Feld namens
totalCarsvom Typdoubleerstellen, das die Gesamtanzahl der erstellten Car-Objekte verfolgt; - Eine Getter-Methode namens
getTotalCarserstellen, die einfach die Anzahl der Objekte zurückgibt; - Sicherstellen, dass der Wert des Feldes
totalCarsjedes Mal erhöht wird, wenn ein neues Car-Objekt erstellt wird.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738using System; class Car { int modelYear; double mileage; string brandName; public Car(string brandName, int modelYear, double mileage) { this.brandName = brandName; this.modelYear = modelYear; this.mileage = mileage; // Write code below this line // Write code above this line } // Write code below this line // Write code above this line } class ConsoleApp { static void Main() { Console.WriteLine(Car.getTotalCars()); Car car1 = new Car("Toyota", 2022, 25.5); Car car2 = new Car("Honda", 2020, 30.2); Car car3 = new Car("Ford", 2021, 28.8); Console.WriteLine(Car.getTotalCars()); } }
- Das Feld, das die Anzahl der Objekte verfolgt, sollte statisch sein, da es immer einige Daten speichert.
- Im Kapitel zu Zugriffsmodifikatoren wurde erklärt, dass eine Getter-Methode einfach eine öffentliche Methode ist, die den Wert eines privaten Feldes zurückgibt. In diesem Fall sollte
getTotalCarsden Wert vontotalCarszurückgeben. - Die Methode
getTotalCarssollte ebenfalls statisch sein, da sie ohne Instanz verwendet werden soll.
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142using System; class Car { int modelYear; double mileage; string brandName; public Car(string brandName, int modelYear, double mileage) { this.brandName = brandName; this.modelYear = modelYear; this.mileage = mileage; // Write code below this line totalCars += 1; // Write code above this line } // Write code below this line private static double totalCars; public static double getTotalCars() { return totalCars; } // Write code above this line } class ConsoleApp { static void Main() { Console.WriteLine(Car.getTotalCars()); Car car1 = new Car("Toyota", 2022, 25.5); Car car2 = new Car("Honda", 2020, 30.2); Car car3 = new Car("Ford", 2021, 28.8); Console.WriteLine(Car.getTotalCars()); } }
War alles klar?
Danke für Ihr Feedback!
Abschnitt 1. Kapitel 37
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 2.08Abschnitt 1. Kapitel 37