Udfordring: `static` Nøgleord
Stryg for at vise menuen
I denne opgave skal du:
- Oprette et nyt privat felt kaldet
totalCarsaf typendouble, som holder styr på det samlede antal oprettede Car-objekter; - Oprette en getter-metode kaldet
getTotalCars, som blot returnerer antallet af objekter; - Sikre, at værdien af feltet
totalCarsøges, hver gang et nyt Car-objekt oprettes.
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()); } }
- Feltet, der holder styr på antallet af objekter, skal være statisk, fordi det altid gemmer nogle data.
- Det blev forklaret i kapitlet om adgangsmodifikatorer, at en getter-metode blot er en public-metode, som returnerer værdien af et privat felt. I dette tilfælde skal
getTotalCarsreturneretotalCars. - Metoden
getTotalCarsskal også være statisk, fordi vi ønsker at bruge den uden en instans.
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()); } }
Var alt klart?
Tak for dine kommentarer!
Sektion 1. Kapitel 37
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Fantastisk!
Completion rate forbedret til 2.08Sektion 1. Kapitel 37