В каждом классе обязательно должен быть метод, с помощью которого создаются объекты этого класса.
Этот метод называется конструктор.
Имя метода конструктора должно совпадать с именем класса.
Конструктор создает объект с конкретными значениями полей.
Если в классе нет конструктора, он будет считаться существующим по умолчанию и присваивающим полям класса пустые значения (числовым нули, строковым пустые строки).
Если в класс добавлен конструктор с параметрами, то конструктор без параметров тоже нужно описывать явно.
В одном классе может несколько различных конструкторов: без параметров, с одним параметром, с двумя параметрами и так далее.
Опишем для нашего класса два конструктора, один без параметров, а второй с параметрами – длинами сторон треугольника.
В заголовке метода только модификатор доступа (public) и имя (Triangle), совпадающее с именем класса.
В теле конструктора нужно присвоить значения полям класса. Если имена полей не совпадают с именами параметров в заголовке, то в теле метода находятся обычные операторы присваивания.
Если в конструкторе имена параметров совпадают с именами полей, то нужно использовать ключевое слово this.
Слово this, говорит о том, что нужно подставлять в поля этого объекта значения, передаваемые методу-конструктору.
Это связано с тем, что:
Создадим объект класса Triangle в классе Program. Для этого перейдем на вкладку класса Program, в методе Main объявим три вещественные переменные x, y, z и присвоим им значения. Затем, используя ключевое слово new, создадим объект t, класса Triangle. Вызовем конструктор с параметрами x, y, z. Полям объекта t будут присвоены значения 6, 5, 8.