Haaste: `static`-avainsana
Pyyhkäise näyttääksesi valikon
Tässä tehtävässä sinun tulee:
- Luoda uusi yksityinen kenttä nimeltä
totalCarstyyppiädouble, joka seuraa luotujen Car-olioiden kokonaismäärää; - Luoda getter-metodi nimeltä
getTotalCars, joka palauttaa olioiden määrän; - Varmistaa, että
totalCars-kentän arvo kasvaa aina, kun uusi Car-olio luodaan.
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()); } }
- Kentän, joka seuraa olioiden määrää, tulisi olla static, koska se tallentaa tietoa pysyvästi.
- Access Modifiers -luvussa selitettiin, että getter-metodi on julkinen metodi, joka palauttaa yksityisen kentän arvon. Tässä tapauksessa
getTotalCarspalauttaatotalCars-kentän arvon. - Myös
getTotalCars-metodin tulisi olla static, koska haluamme käyttää sitä ilman oliota.
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()); } }
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 1. Luku 37
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.08Osio 1. Luku 37