Desafío: Palabra Clave `static`
En este problema, se requiere:
- Crear un nuevo campo privado llamado
totalCars
de tipodouble
que registre el número total de objetos Car creados; - Crear un método getter llamado
getTotalCars
que simplemente devuelva el número de objetos; - Asegurarse de que el valor del campo
totalCars
se incremente cada vez que se cree un nuevo objeto 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()); } }
- El campo que registra el número de objetos debe ser estático porque siempre almacena algún dato.
- Se explicó en el capítulo de Modificadores de Acceso que un método getter es simplemente un método público que devuelve el valor de un campo privado. En este caso,
getTotalCars
debe devolvertotalCars
. - El método
getTotalCars
también debe ser estático porque se desea utilizar sin una instancia.
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()); } }
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 4. Capítulo 6
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.04
Desafío: Palabra Clave `static`
Desliza para mostrar el menú
En este problema, se requiere:
- Crear un nuevo campo privado llamado
totalCars
de tipodouble
que registre el número total de objetos Car creados; - Crear un método getter llamado
getTotalCars
que simplemente devuelva el número de objetos; - Asegurarse de que el valor del campo
totalCars
se incremente cada vez que se cree un nuevo objeto 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()); } }
- El campo que registra el número de objetos debe ser estático porque siempre almacena algún dato.
- Se explicó en el capítulo de Modificadores de Acceso que un método getter es simplemente un método público que devuelve el valor de un campo privado. En este caso,
getTotalCars
debe devolvertotalCars
. - El método
getTotalCars
también debe ser estático porque se desea utilizar sin una instancia.
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()); } }
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 4. Capítulo 6