c конструктор



Автор Влад Твердохлебов задал вопрос в разделе Другие языки и технологии

Зачем нужен конструктор в c#? и получил лучший ответ

Ответ от
присваивать значения переменным
по умолчанию даже если конструктор не задан, он всё равно будет только без параметров, любой класс неявно наследует класс object и это означает что можно создавать объекты или экземпляры класса. Также есть деструктор, который занимается "сборщиком мусора" в управляемой памяти
Имя конструктора всегда должен совпадать с именем класса
Пример
class MyClass
{
int alpha, beta;
public MyClass(int i, int j)
{
alpha = i;
beta = j;
}
}

Ответ от Анастасия 1[гуру]
В конструкторе происходит инициализация объекта класса. например, выделение памяти под какие-либо массивы, задание начальных значений переменных и т. д.

Ответ от [новичек]
Прежде всего для унификации.
Можно было бы обойтись без конструкторов с параметрами, а просто делать в каждом классе метод, инициализирующий нужные свойства, или просто отдельные свойства: сначала создаем объект класса с помощью new, затем инициализируем все нужные свойства, каждое отдельно (а ведь они разные для разных классов, и число их различается), и только потом работаем с объектом класса, а если забыли что проинициализировать - то сразу ошибка.
С библиотеками с такими классами тяжело разбираться в первый раз - даже не знает, что надо инициализировать, а что нет.
Конструктор же человеку, пользующемуся классом, позволяет дать знать, какие свойства нужно проинициализировать, а разработчику класса - логически выделить код, который выполняется при создании объекта класса. Скажем, класс Form на самом деле основан на функции CreateWindow из WinAPI, которая и создает окно; логично, чтобы она вызывалась прям при создании оболочки окна - объекта класса Form - через new, а не каким-то левым методом.
Ну и лаконичность тоже.
Сравните:
var f = new File();
f.FileName = "D:/1.txt";
f.Encoding = Encoding.UTF8;
f.WriteLine("fff");
f.Close();
и это:
var f = new File("D:/1.txt", Encoding.UTF8);
f.WriteLine("fff");
f.Close();
Второе ведь гораздо короче и стройнее.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Зачем нужен конструктор в c#?
Конструктор по умолчанию на Википедии
Посмотрите статью на википедии про Конструктор по умолчанию
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*