classProgram { static void Main()
{ Build dom1 = new Build(); // создание объекта dom1
dom1.name="Дача"; dom1.area=30; dom1.kvo=4; // инициализация
dom1.ShowInfo(); // вызов метода
Console.ReadKey();
} } Протестируем программу, изменяя параметры объекта dom1. Заметим,
что при использовании конструктора по умолчанию значения полей задавать не совсем удобно.
Модифицируем программу. Создадим в классе Buildсобственный кон- структор с тремя параметрами (nm, ar, k). Конструктор по умолчанию (без па- раметров) теперь тоже необходимо записать в явном виде.
public Build() { } // конструктор без параметров
public Build(string nm, double ar, int k) // конструктор c параметрами
{ this.name = nm; this.area = ar; this.kvo = k; } Служебное слово this используют для указания на конкретный экземпляр объекта, а также для устранения неоднозначности между полями и локальными переменными или параметрами методов. Например, чтобы не плодить большое количество имен, полям (т. е. переменным класса) и используемым внутри ме- тода локальным переменным (значения которых передаются через соответст- вующие параметры), обычно дают одинаковые имена. При этом конструктор с параметрами будет выглядеть так:
public Build(string name, double area, int kvo)
{ this.name = name; this.area = area; this.kvo = kvo; }
Служебное слово this указывает на поля класса Build (выделены полужир- ным), которым при создании объекта будут присвоены значения локальных пе- ременных, переданные через одноименные параметры (выделены курсивом).
В дальнейшем мы тоже будем придерживаться такой практики задания имен.
В методе Main() класса Program создадим объект dom2 класса Build, (т. е. построим новый дом по тому же проекту Build), используя теперь конст- руктор с параметрами. Снова вызовем метод ShowInfo().
Build dom2 = new Build("Коттедж", 80, 6); dom2.ShowInfo();
Протестируем программу, изменяя параметры объекта dom2. Заметим, что использование собственного конструктора гораздо удобнее.