Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Mot-clé `static` | Principes Essentiels de la POO
C# Au-Delà des Bases

bookDéfi : Mot-clé `static`

Dans ce problème, il faut :

  • Créer un nouveau champ privé nommé totalCars de type double qui suit le nombre total d'objets Car créés ;
  • Créer une méthode d'accès nommée getTotalCars qui retourne simplement le nombre d'objets ;
  • S'assurer que la valeur du champ totalCars est incrémentée à chaque création d'un nouvel objet Car.
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. Le champ qui suit le nombre d'objets doit être statique car il stocke toujours des données.
  2. Il a été expliqué dans le chapitre sur les modificateurs d'accès qu'une méthode d'accès est simplement une méthode publique qui retourne la valeur d'un champ privé. Dans ce cas, getTotalCars doit retourner totalCars.
  3. La méthode getTotalCars doit également être statique car on souhaite l'utiliser sans instance.
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()); } }
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 2.04

bookDéfi : Mot-clé `static`

Glissez pour afficher le menu

Dans ce problème, il faut :

  • Créer un nouveau champ privé nommé totalCars de type double qui suit le nombre total d'objets Car créés ;
  • Créer une méthode d'accès nommée getTotalCars qui retourne simplement le nombre d'objets ;
  • S'assurer que la valeur du champ totalCars est incrémentée à chaque création d'un nouvel objet Car.
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. Le champ qui suit le nombre d'objets doit être statique car il stocke toujours des données.
  2. Il a été expliqué dans le chapitre sur les modificateurs d'accès qu'une méthode d'accès est simplement une méthode publique qui retourne la valeur d'un champ privé. Dans ce cas, getTotalCars doit retourner totalCars.
  3. La méthode getTotalCars doit également être statique car on souhaite l'utiliser sans instance.
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()); } }
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 6
some-alt