Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Palabra Clave `static` | Fundamentos Esenciales de POO
C# Más Allá de lo Básico

bookDesafío: Palabra Clave `static`

En este problema, se requiere:

  • Crear un nuevo campo privado llamado totalCars de tipo double 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

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. El campo que registra el número de objetos debe ser estático porque siempre almacena algún dato.
  2. 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 devolver totalCars.
  3. El método getTotalCars también debe ser estático porque se desea utilizar sin una instancia.
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()); } }
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 6

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 2.04

bookDesafío: Palabra Clave `static`

Desliza para mostrar el menú

En este problema, se requiere:

  • Crear un nuevo campo privado llamado totalCars de tipo double 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

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. El campo que registra el número de objetos debe ser estático porque siempre almacena algún dato.
  2. 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 devolver totalCars.
  3. El método getTotalCars también debe ser estático porque se desea utilizar sin una instancia.
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()); } }
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 6
some-alt