Uitdaging: `static` Sleutelwoord
In dit vraagstuk moet je:
- Een nieuw privéveld aanmaken genaamd
totalCars
van het typedouble
, dat het totale aantal aangemaakte Car-objecten bijhoudt; - Een getter-methode aanmaken genaamd
getTotalCars
die eenvoudigweg het aantal objecten retourneert; - Ervoor zorgen dat de waarde van het veld
totalCars
wordt verhoogd telkens wanneer er een nieuw Car-object wordt aangemaakt.
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()); } }
- Het veld dat het aantal objecten bijhoudt, moet statisch zijn omdat het altijd bepaalde gegevens opslaat.
- In het hoofdstuk Toegangsmodificatoren is uitgelegd dat een getter-methode simpelweg een publieke methode is die de waarde van een privéveld retourneert. In dit geval moet
getTotalCars
de waarde vantotalCars
retourneren. - De methode
getTotalCars
moet ook statisch zijn omdat we deze zonder instantie willen gebruiken.
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()); } }
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 4. Hoofdstuk 6
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Suggested prompts:
Can you show me how to declare a static private field in Java?
How do I increment the static field in the constructor?
Can you explain why the getter method should be static?
Awesome!
Completion rate improved to 2.04
Uitdaging: `static` Sleutelwoord
Veeg om het menu te tonen
In dit vraagstuk moet je:
- Een nieuw privéveld aanmaken genaamd
totalCars
van het typedouble
, dat het totale aantal aangemaakte Car-objecten bijhoudt; - Een getter-methode aanmaken genaamd
getTotalCars
die eenvoudigweg het aantal objecten retourneert; - Ervoor zorgen dat de waarde van het veld
totalCars
wordt verhoogd telkens wanneer er een nieuw Car-object wordt aangemaakt.
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()); } }
- Het veld dat het aantal objecten bijhoudt, moet statisch zijn omdat het altijd bepaalde gegevens opslaat.
- In het hoofdstuk Toegangsmodificatoren is uitgelegd dat een getter-methode simpelweg een publieke methode is die de waarde van een privéveld retourneert. In dit geval moet
getTotalCars
de waarde vantotalCars
retourneren. - De methode
getTotalCars
moet ook statisch zijn omdat we deze zonder instantie willen gebruiken.
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()); } }
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 4. Hoofdstuk 6