Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: `static`-nyckelordet | OOP-Grunder
C# Bortom Grunderna

bookUtmaning: `static`-nyckelordet

I det här problemet behöver du:

  • Skapa ett nytt privat fält kallat totalCars av typen double som spårar det totala antalet Car-objekt som har skapats;
  • Skapa en getter-metod kallad getTotalCars som helt enkelt returnerar antalet objekt;
  • Säkerställ att värdet på fältet totalCars ökas varje gång ett nytt Car-objekt skapas.
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. Fältet som spårar antalet objekt ska vara statiskt eftersom det alltid lagrar viss data.
  2. Det förklarades i kapitlet om åtkomstmodifierare att en getter-metod helt enkelt är en publik metod som returnerar värdet av ett privat fält. I det här fallet ska getTotalCars returnera totalCars.
  3. Metoden getTotalCars ska också vara statisk eftersom vi vill använda den utan en instans.
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()); } }
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookUtmaning: `static`-nyckelordet

Svep för att visa menyn

I det här problemet behöver du:

  • Skapa ett nytt privat fält kallat totalCars av typen double som spårar det totala antalet Car-objekt som har skapats;
  • Skapa en getter-metod kallad getTotalCars som helt enkelt returnerar antalet objekt;
  • Säkerställ att värdet på fältet totalCars ökas varje gång ett nytt Car-objekt skapas.
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. Fältet som spårar antalet objekt ska vara statiskt eftersom det alltid lagrar viss data.
  2. Det förklarades i kapitlet om åtkomstmodifierare att en getter-metod helt enkelt är en publik metod som returnerar värdet av ett privat fält. I det här fallet ska getTotalCars returnera totalCars.
  3. Metoden getTotalCars ska också vara statisk eftersom vi vill använda den utan en instans.
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()); } }
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 6
some-alt