7 Класи
class Program { static void Main( string [] args) { Elevator MyElevator = new Elevator( 2, 4, 6, 1800); // виклик конструкторiв Elevator HisElevator = new Elevator( 2, 4, 6, 800); // та iнiцiалiзацiя полiв HisElevator. Capacity = 600; // змiна значення поля Capacity }
} }
В цьому прикладi ми використовували ключеве слово this. У випадку, коли iмена аргументiв конструктора спiвпадають з iменами полiв ключеве слово this дає доступ до екземпляру класу, який в поточний момент утворюється. Якщо iмена рiзнi, то this можна не використовувати.
Якщо в класi записаний один чи декiлька конструкторiв, то ми вже не зможимо утворити об’ єкт за допомогою конструктора за замовчуванням:
class Elevator {
...
} public Elevator( int Height, int Width, int Length, int Capacity) {
...
}
class Program { static void Main( string [] args) { Elevator MyElevator = new Elevator() // помилка!
}
} }
Слiд зазначити, що в документацiï Microsoft“ конструктором за замовчуванням” називається також конструктор без параметрiв. Конструктор без параметрiв можна також використовувати для надання початкових значень полям екземпляру.
У C # не можна в класi описати два конструктора з однаковою кiлькiстю i типами аргументiв через те, що оператор new в такому випадку не знав би, який конструктор викликати.
Припустимо, що Вам необхiдно кожному лiфту необхiдно присвоïти унiкальний iдентифiкацiйний номер. Введемо поле Number i розглянемо, що може виникнути при iнiцiалiзацiï цього поля в рiзних випад-
116