Кога няма да се създаде конструктор по подразбиране?
Трябва да знаем, че ако декларираме поне един конструктор в даден клас, тогава компилаторът няма да създаде конструктор по подразбиране.
За да проверим това, нека разгледаме следния пример:
public Collar(int size)
: this()
{
this.size = size;
}
|
Нека това е единственият конструктор на класа Collar. В него се опитваме да извикаме конструктор без параметри, надявайки се, че компилаторът ще е създал конструктор по подразбиране за нас (който знаем, че е без параметри). След като се опитаме да компилираме, ще разберем, че това, което се опитваме да направим, е невъзможно:
'Collar' does not contain a constructor that takes 0 arguments
|
Ако сме декларирали дори един единствен конструктор в даден клас, компилаторът няма да създаде конструктор по подразбиране за нас.
|
Ако декларираме поне един конструктор в даден клас, компилаторът няма да създаде конструктор по подразбиране за нас.
|
Сподели с приятели: |