SkillsTest.pl C# pytania i zadania rekrutacyjne Analiza kodu - zadanie 4

: 2017-11-27 | Nr 51 z 51

Analiza kodu

Analiza kodu - zadanie 4 C#

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();
  }
}

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.

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka