Базове поняття класу. Поняття імпорту .
Клас - центральний компонент java.
Формально клас - шаблон поведінки об'єктів певного типу з
певними параметрами, що визначають стан. Всі екземпляри одного класу (об'єкти,
породжені від одного класу) мають один і той же набір властивостей;
загальна поведінка
- однаково реагують на однакові повідомлення.
Найбільш важлива властивість класу у тому, що він
визначає новий тип даних. Після того як він визначений, цей новий тип можна застосовувати для
створення об'єктів даного типу. Таким чином, клас - це шаблон у якому записано
всі властивості об’єкта. Об'єкт - це екземпляр (копія) класу, новий елемент,
який створений із властивостей описаних в окремому класі.
Елементи з яких складається клас бувають двох типів:
описувальні елементи (частіши int, string) та композиційні(ті елементи, які утворені з раніше відомих чи базових
складових).
Загальна форма класу.
При визначенні класу оголошують його загальну форму і
сутність. Це виконується шляхом зазначення даних, які він містить, і коли, впливає
на ці дані. дуже прості класи можуть містити тільки код або тільки дані,
більшість класів, застосовуваних в реальних програмах, містить обидва ці
компонента. Код класу визначає інтерфейс до його даних.
Дані або певні змінні всередині класу, називаються
змінними екземпляра. Код міститься всередині методів. Методи і змінні
називаються членами класу. У більшості класів дії зі змінними екземпляра і
доступ до них виконується через методи, визначені в цьому класі, тому саме
методи визначають спосіб використання даних у класі. Кожен екземпляр класу
містить власні копії цих змінних. Дані одного об'єкта відокремлені і відрізняються
від даних іншого об'єкта.
Поля - описують
елементи з яких складається клас. (Поля бувають статичні і нестатичні). Коли ми
створюємо конкретний екземпляр цього класу, то у кожного полю будуть якісь свої
значення.
Давайте
спробуємо створити новий проект у якому буде не один клас а два!
При чому метод public
static void main(String[] args) буде тільки у класі Dispatcher.
1)
Заходимо у програмне середовище і створюємо новий проект.
2)
Даємо ім’я проекту «classes».
3)
У нашому проекті буде два класи: «Cat» і «Dispatcher» із методом public static void main(String[] args).
4)
У класі «Cat» ми опишемо властивості, які притаманні котам. А у класі
«Dispatcher» ми будемо виконувати певні дії над властивостями та
саме створювати котів.
5)
Заходимо у клас «Cat». Давайте подумаємо
які такі властивості ми можемо представити у вигляді змінних які можуть бути у
будь-якого кота…
Колір - color
вік - age
Ім’я – name
Походження
(порода) – breed
Давайте всі ці
змінні запишемо у клас «Cat». Ми з вами записали
властивості класу «Cat». Це каже про те, що ми описали властивості нашим
майбутнім котам.
6)
Після того, як ми описали властивості наших майбутніх котів, ми можемо
переходити до створення наших котів. Для цього ми створюємо клас «Dispatcher» із методом методом public static void main(String[] args). А далі робимо за зразком:
7)
Але, коли ми запустимо нашу програму на виконання то
ніякого кота ми не побачимо! Бо процес створення котів відбувся у пам’яті
комп’ютера і явного представлення нам кота не буде!
2) І спробуємо створити вікно, у яке можна вводити
інформацію про нашого першого кота
Самостійно
надайте значень властивостям другому котові та виведіть їх у вікно –
повідомлення
String mm =
a1.move.equals(a2.move) ? "У вас рыбка":"У вас
птичка";
Дякуючи тому
що ми можемо створити безліч копій певного об’єкту, а Java відокремить ці копії і не дозволить їм змішуватись, то ми можемо
працювати з кожним об’єктом окремо в одній програмі.
Як ми вже відзначали, при створенні класів ви
створюєте тип даних. Цей тип можна використовувати для оголошення об'єктів
даного типу. однак створення класу - процес двоступінчастий.
Спочатку необхідно оголосити змінну типу класу, ця змінна
не визначає об'єкт, вона являє собою всього лише змінну, яка може посилатися на
об'єкт.
Потім потрібно
отримати дійсну фізичну копію об'єкта і привласнити її цієї змінної.
Операція new динамічно (під час виконання) розподіляє пам'ять
під об'єкт і повертає посилання на нього. Таким чином, це посилання являє собою
адресу об'єкта в пам'яті і зберігається в змінній.
У Java всі об'єкти
класів повинні розподілятися динамічно.
Розглянемо операцію new більш
докладно.
Загальний вигляд при створенні об'єкта:
Змінна класу = new ім'я класу ();
Змінна класу - це змінна створюваного класу.
Ім'я класу - це ім'я класу конкретизація якого
виконується.
Ім'я класу. за яким слідують круглі дужки, вказує
конструктор даного класу. Конструктор визначає дії, що виконуються при
створенні об'єкта класу.
конструктори - важлива частина всіх класів і якщо ви не
вкажіть конструктор, то Java автоматично його вставить.
Важливо розуміти, що операція new
розподіляє пам'ять для об'єкта під час виконання. Слід пам'ятати і те, що new
може створити рівно стільки об'єктів скільки буде потрібно, але не забувати про
те, що пам'ять не безгранична і якщо пам'ять в ПК буде недостатньо, то новий
об'єкт може і не створитися.
Клас створює новий тип
даних, який можна використовувати для створення об'єктів (клас можна
представити у вигляді логічного каркаса, який визначає взаємозв'язок між його
членами). при оголошенні об'єкту класу ми створює екземпляр цього класу, який
володіє фізичною суттю (займає область у пам'яті).
Знайомство з методами. Метод - це дія, яку
може виконати клас.
Загальний вигляд методу:
тип ім'я (список параметрів) {}
Тип - вказує тип даних, що
повертаються методом. Якщо даний метод нічого не повертає, то вказують тип
void.
Ім'я - вказує ім'я методу,
може бути будь-яким, але має говорити про дію, яке виконує метод.
Список параметрів - це змінні
(параметрами), передані методу і розділені комами.
Методи, тип значення яких відрізняється від void повинні
повертати значення викликом процедури return:
return знченіе;
значення - це значення, що
повертається.
Насправді ж метод складається з чотирьох елементів:
Створення методу.
У професійному програмуванні для методів створюється
окремий клас, це дозволяє програмісту приховати конкретну схему внутрішніх
структур даних.
Давайте створимо метод, який буде порівнювати вік наших котів із 1 і
виводити у вікні-повідомленні результат.
Заходимо у
клас «Cat».
І робимо
наступний запис:
void compare(){
boolean compar = age==1;
JOptionPane.showMessageDialog(null,compar);
}
Тепер у класі
«Dispatcher» викликаємо створений нами метод.
c1.compare();
Компідюємо.
Комментарии
Отправить комментарий