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

7.3 Конструктори класiв Бачимо, що ми не маємо доступу до методу PublicMethod() з iнших збiрок, через те, що клас оголошений як internal. 7.3 Конструктори класiв 7.3.1 Конструктори екземплярiв класiв В першому роздiлi ми почали вже вивчати роботу конструктора. Тепер розглянемо його роботу бiльш детально. Оголошення конструктора має такий вигляд: public class_name ([arguments]) { // тiло конструктора } При оголошеннi конструктора не потрiбно указувати тип результа- ту. Оголошення класу може мiстити бiльше одного конструктора ек- земпляру класу при умовi, що усi конструктори розрiзняються за кiль- кiстю та/або типами аргументiв. Якщо оголошення класу не мiстить жодного конструктора, то компiлятор автоматично забезпечить класу неявний конструктор екземпляру класу за замовчуванням без переме- трiв i з тiлом вигляду {} (який має у випадку не абстрактних класiв рiвень доступу public ). Якщо оголошення класу мiстить принаймнi один конструктор, то компiлятор не створюватиме жодного неявно- го конструктора для класу. Аналогiчно випадку iнших членiв класу, якщо в оголошеннi конструктора не вказаний модифiкатор доступу, то за замовчуванням рiвень доступу для конструктора встановлює- ться як private , що означає, що його не можна використати поза межами класу (або вкладених типiв) для створення екземплярiв цьо- го класу. Розглянемо такий конcтруктор для класу Elevator : class Elevator { public int Height; public int Width; public int Length; public int Capacity; public Elevator(int Height, int Width, int Length, int Capacity) { this.Height = Height; this.Width = Width; this.Length = Length; this.Capacity = Capacity; } } 115