Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Завдання: Ключове Слово `static` | Основи ООП
C# Понад Базовий Рівень

bookЗавдання: Ключове Слово `static`

У цій задачі необхідно:

  • Створити нове приватне поле з назвою totalCars типу double, яке відстежує загальну кількість створених об'єктів Car;
  • Створити метод-геттер з назвою getTotalCars, який просто повертає кількість об'єктів;
  • Переконатися, що значення поля totalCars збільшується щоразу, коли створюється новий об'єкт 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. Поле, яке відстежує кількість об'єктів, має бути static, оскільки воно завжди зберігає певні дані.
  2. У розділі про модифікатори доступу було пояснено, що метод-геттер — це просто публічний метод, який повертає значення приватного поля. У цьому випадку getTotalCars має повертати totalCars.
  3. Метод getTotalCars також має бути static, оскільки його потрібно використовувати без створення екземпляра.
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()); } }
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you show me how to declare a static private field in Java?

How do I increment the static field in the constructor?

Can you explain why the getter method should be static?

Awesome!

Completion rate improved to 2.04

bookЗавдання: Ключове Слово `static`

Свайпніть щоб показати меню

У цій задачі необхідно:

  • Створити нове приватне поле з назвою totalCars типу double, яке відстежує загальну кількість створених об'єктів Car;
  • Створити метод-геттер з назвою getTotalCars, який просто повертає кількість об'єктів;
  • Переконатися, що значення поля totalCars збільшується щоразу, коли створюється новий об'єкт 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. Поле, яке відстежує кількість об'єктів, має бути static, оскільки воно завжди зберігає певні дані.
  2. У розділі про модифікатори доступу було пояснено, що метод-геттер — це просто публічний метод, який повертає значення приватного поля. У цьому випадку getTotalCars має повертати totalCars.
  3. Метод getTotalCars також має бути static, оскільки його потрібно використовувати без створення екземпляра.
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()); } }
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 6
some-alt