Défi : Mot-clé `static`
Dans ce problème, il faut :
- Créer un nouveau champ privé nommé
totalCars
de typedouble
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
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()); } }
- Le champ qui suit le nombre d'objets doit être statique car il stocke toujours des données.
- 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 retournertotalCars
. - La méthode
getTotalCars
doit également être statique car on souhaite l'utiliser sans instance.
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()); } }
Tout était clair ?
Merci pour vos commentaires !
Section 4. Chapitre 6
Demandez à l'IA
Demandez à l'IA
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
Défi : Mot-clé `static`
Glissez pour afficher le menu
Dans ce problème, il faut :
- Créer un nouveau champ privé nommé
totalCars
de typedouble
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
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()); } }
- Le champ qui suit le nombre d'objets doit être statique car il stocke toujours des données.
- 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 retournertotalCars
. - La méthode
getTotalCars
doit également être statique car on souhaite l'utiliser sans instance.
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()); } }
Tout était clair ?
Merci pour vos commentaires !
Section 4. Chapitre 6