Основы объектно-ориентированного программирования на языке C# book | Page 117

7.3 Конструктори класiв ках. Нехай необхiдно мати конструктор, який автоматично збiльшує поточний iдентифiкацiйний номер лiфту й ще один конструктор, який задає цей номер “вручну”. Для такоı̈ ситуацiı̈ краще використовувати “зчепленi” конструктори: class Elevator { static public int IdNumber=0; public int Height; public int Width; public int Length; public int Capacity; public int Number; public Elevator() : this(0,0,0,0) { } public Elevator(int Height, int Width, int Length, int Capacity) : this(Height, Width, Length, Capacity, ++IdNumber) { } public Elevator(int Height, int Width, int Length, int Capacity, int Number) { this.Height = Height; this.Width = Width; this.Length = Length; this.Capacity = Capacity; this.Number = Number; } } class Program { static void Main(string[] args) { Elevator FirstElevator = new Elevator(); Console.WriteLine(FirstElevator.Number); Elevator SecondElevator = new Elevator(1,2,3,4); Console.WriteLine(SecondElevator.Number); Elevator ThirdElevator = new Elevator(11, 22, 33, 44, 10); Console.WriteLine(ThirdElevator.Number); Console.ReadKey(); } } } Пiсля виконання програма роздрукує значення 1, 2, 10 у стовб- чик. При виклику першого конструктора без параметрiв Elevator FirstElevator = new Elevator() буде викликаний конструктор з чо- тирьма аргументами за допомогою this(0,0,0,0) . Цей контруктор отримає в якостi фактичних аргументiв чотири нуля. Потiм констру- ктор з чотирма параметрами викличе конструктор з пят’ю. I п’ятим 117