Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: `static`-avainsana | OOP:n Perusteet
C# Perusteiden Jälkeen

bookHaaste: `static`-avainsana

Tässä tehtävässä sinun tulee:

  • Luoda uusi yksityinen kenttä nimeltä totalCars tyyppiä 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

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. Kentän, joka seuraa olioiden määrää, tulisi olla static, koska se tallentaa tietoa pysyvästi.
  2. Access Modifiers -luvussa selitettiin, että getter-metodi on julkinen metodi, joka palauttaa yksityisen kentän arvon. Tässä tapauksessa getTotalCars palauttaa totalCars-kentän arvon.
  3. Myös getTotalCars-metodin tulisi olla static, koska haluamme käyttää sitä ilman oliota.
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()); } }
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 2.04

bookHaaste: `static`-avainsana

Pyyhkäise näyttääksesi valikon

Tässä tehtävässä sinun tulee:

  • Luoda uusi yksityinen kenttä nimeltä totalCars tyyppiä 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

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. Kentän, joka seuraa olioiden määrää, tulisi olla static, koska se tallentaa tietoa pysyvästi.
  2. Access Modifiers -luvussa selitettiin, että getter-metodi on julkinen metodi, joka palauttaa yksityisen kentän arvon. Tässä tapauksessa getTotalCars palauttaa totalCars-kentän arvon.
  3. Myös getTotalCars-metodin tulisi olla static, koska haluamme käyttää sitä ilman oliota.
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()); } }
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
some-alt