Challenge: `static` Keyword
Swipe to show menu
In this problem, you need to:
- Create a new private field called
totalCarsof typedoublewhich tracks the total number of Car objects created; - Create a getter method called
getTotalCarswhich simply returns the number of objects; - Make sure the value of the
totalCarsfield is incremented every time a new Car object is created.
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()); } }
Hint
- The field which tracks the number of objects should be static because it always stores some data.
- It was explained in the Access Modifiers chapter that a getter method is simply a public method which returns the value of a private field. In this case
getTotalCarsshould returntotalCars. - The
getTotalCarsmethod should also be static because we want to use it without an instance.
Solution
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());
}
}
Everything was clear?
Thanks for your feedback!
Section 4. Chapter 6
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Section 4. Chapter 6