Kategoria: C# Dodane przez marcin90

Analiza kodu - zadanie 4

Jaka wartość zmiennej maxSpeed zostanie wyświetlona na konsoli?

public static void Main(string[] args)
{
  CarSpeed speed = new CarSpeed();
  speed.PrintSuperSpeed();
}

public class CarSpeed
{
  public static int maxSpeed;

  public CarSpeed()
  {
    if (maxSpeed == 0)
      maxSpeed = 200;
  }
  static CarSpeed()
  {
    if (maxSpeed == 0)
      maxSpeed = 300;
  }

  public void PrintSuperSpeed()
  {
    if (maxSpeed == 200)
    {
      maxSpeed = 500;
    }
    Console.WriteLine("SuperSpeed : " + maxSpeed);
    Console.ReadLine();
  }
}

1 odpowiedź

0 0 Dodane 10-06-2018 przez marcin90

Odpowiedź: SuperSpeed: 300

Objaśnienie

Klasa może posiadać tylko jeden konstruktor statyczny i wywoływany jest on zawsze przed pozostałymi konstruktorami, dlatego też maxSpeed przyjmie wartość 300 po stworzeniu obiektu.


Dodaj swoją wersję odpowiedzi

Dodajesz odpowiedź jako gość. Zaloguj się się by uzyskać dostęp do rankingu oraz powiadomień.