Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: `static` Sleutelwoord | OOP Essentials
C# Verder dan de Basis

bookUitdaging: `static` Sleutelwoord

In dit vraagstuk moet je:

  • Een nieuw privéveld aanmaken genaamd totalCars van het type double, 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

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738
using 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()); } }
  1. Het veld dat het aantal objecten bijhoudt, moet statisch zijn omdat het altijd bepaalde gegevens opslaat.
  2. 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 van totalCars retourneren.
  3. De methode getTotalCars moet ook statisch zijn omdat we deze zonder instantie willen gebruiken.
index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142
using 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?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

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

bookUitdaging: `static` Sleutelwoord

Veeg om het menu te tonen

In dit vraagstuk moet je:

  • Een nieuw privéveld aanmaken genaamd totalCars van het type double, 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

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738
using 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()); } }
  1. Het veld dat het aantal objecten bijhoudt, moet statisch zijn omdat het altijd bepaalde gegevens opslaat.
  2. 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 van totalCars retourneren.
  3. De methode getTotalCars moet ook statisch zijn omdat we deze zonder instantie willen gebruiken.
index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142
using 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?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6
some-alt