Herausforderung: Schlüsselwort `static`
In dieser Aufgabe sollen Sie:
- Ein neues privates Feld namens
totalCars
vom Typdouble
erstellen, das die Gesamtanzahl der erstellten Car-Objekte verfolgt; - Eine Getter-Methode namens
getTotalCars
erstellen, die einfach die Anzahl der Objekte zurückgibt; - Sicherstellen, dass der Wert des Feldes
totalCars
jedes 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
getTotalCars
den Wert vontotalCars
zurückgeben. - Die Methode
getTotalCars
sollte 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 4. Kapitel 6
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.04
Herausforderung: Schlüsselwort `static`
Swipe um das Menü anzuzeigen
In dieser Aufgabe sollen Sie:
- Ein neues privates Feld namens
totalCars
vom Typdouble
erstellen, das die Gesamtanzahl der erstellten Car-Objekte verfolgt; - Eine Getter-Methode namens
getTotalCars
erstellen, die einfach die Anzahl der Objekte zurückgibt; - Sicherstellen, dass der Wert des Feldes
totalCars
jedes 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
getTotalCars
den Wert vontotalCars
zurückgeben. - Die Methode
getTotalCars
sollte 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 4. Kapitel 6