SkillsTest.pl C# pytania i zadania rekrutacyjne Co to jest konstruktor prywatny i do czego służy?

: 2017-10-17 | Nr 7 z 51

Pytanie

Co to jest konstruktor prywatny i do czego służy? C#

Prywatny konstruktor używany jest zazwyczaj w klasach, które zawierają tylko elementy statyczne.

Nie można dziedziczyć po klasach mających jedynie konstruktor prywatny.

Jeśli klasa posiada jeden bądź klika konstruktorów prywatnych oraz nie posiada konstruktorów publicznych to inne klasy (z wyjątkiem klas zagnieżdżonych) nie mogą tworzyć obiektów tej klasy.

Gdy klasa posiada konstruktor prywatny nie można dodać konstruktora publicznego nie przyjmującego parametrów.

Można utworzyć obiekt klasy nie posiadającej konstruktora publicznego za pomocą metody statyczniej w danej klasie.


public class Car
  {
    private Car()
    {
    }
    public void WriteInfo()
    {
      Console.WriteLine("Inside Car Class");
    }
    public static Car CarInstance = new Car();
    public static Car CreateCarInstance()
    {
      return new Car();
    }
  }
  public class Program
  {
    public static void Main(string[] args)
    {
      Car car; //inicjalizacja, jeszcze nie tworzymy oobiektu
      car = Car.CreateCarInstance();
      car.WriteInfo(); // możemy korzystać z metod klasy
      car = Car.CarInstance;
      car = new Car();  // Błąd, nie można tworzyć obiektu klasy spoza klasy (brak konstruktora publicznego)
    }
  }

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka