Читайте также:
|
|
Мета роботи: отримання практичних навичок програмування задач з використанням конструкторів, прав доступу та передачі параметрів методам за значенням.
Завдання: Розробити програму, в якій використовуються два класи. Клас Goods, який описаний в лабораторній роботі №10 и клас Show, який має тільки один член класу – метод showParam():
void showParam(int i,int j)
{
i++;
j--;
}
Продемонструвати використання конструкторів, прав доступу до членів класу та особливість передачі параметрів в метод за значенням.
Вигляд екрана працюючого додатку може бути такий:
Основні теоретичні положення:
Конструктори. Використання методів для ініціалізації об’єктних змінних краще, ніж безпосереднє привласнення значень, але все-таки має недоліки методологічного і практичного характеру. По-переше, об’єкт – це модель чогось в реальному світі, тому краще, коли створення і ініціалізація об’єкта суміщені в часі.
Для усунення вказаних недоліків у мові Java існує спеціальний метод, який називається конструктором. Конструктор виконує ініціалізацію всіх об’ктних змінних.
Передача аргументів за значенням і посиланням. У більшості мов програмування існує два способи передачі аргументу програмі:
· за значенням;
· за посиланням.
При виклику за значенням в методі створюється змінна, в яку копіюється параметр. Після цього ніякого зв’язку між фактичним параметром і його копією в методі не існує.
При виклику за посиланням копіювання фактичного параметра не відбувається. Тому є можливість як використовувати значення фактичного параметра, так і змінювати це значення, оскільки адреса параметра залишається у розпорядженні методу.
У мові Java всі параметри простих типів викликаються за значенням, а параметри-об’єкти викликаються за посиланням.
Обмеження доступу до елементів класу. Однією з основних вимог об’єктно-орієнтованого програмування є обмеження доступу. У мові Java є три спеціфікатори доступу:
· private;
· protected;
· public.
Член класу, помічений спеціфікатором public, доступний скрізь.
Член класу, помічений спеціфікатором private, доступний тільки для членів цього ж класу.
Спеціфікатор доступу protected робить відкритим доступ до членів суперкласу в його підкласах.
Контрольні запитання і завдання:
1. Для чого| призначені конструктори|? Яким вимогам повинні відповідати конструктори? Які бувають види конструкторів?
2. Для чого призначені права доступу до членів класу?
3. Поясніть особливості дії наступних специфікаторів доступу: private, protected, public та доступ за умовчанням.
4. Які існують засоби передачі параметрів методам в мові Java? Поясніть на прикладах.
5. Поясніть текст програми.
Дата добавления: 2015-09-11; просмотров: 102 | Поможем написать вашу работу | Нарушение авторских прав |