Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.30 KB | None | 0 0
  1. Лабораторна робота №2
  2. Тема – Створення класів
  3. Ціль:
  4. знайомство з класами, створення класу, використовування конструкторів за умовчанням і з параметрами, реалізація методів, тестування класу.
  5. Порядок виконання:
  6. Необхідно створити два класи. Розташовуватися дані класи можуть як в одному файлі, так і в різних, при цьому той, що тестується повинен бути оголошений, як public і містити статичний метод main(). Клас, що тестується, містить поля, конструктори, методи, вказані в завданні.
  7. Клас-тест виконує ініціалізацію екземплярів класу, викликає методи класу, що тестується, виводить результат в командний рядок.
  8. Методичні вказівки
  9. Класи – спосіб об'єднання даних і всіх методів. Класи мають два основні компоненти: стан і методи.
  10. Стан – це значення всіх його змінних. Методи визначають його функціональні можливості. З погляду синтаксису клас в Java має: оголошення і тіло класу.
  11. Створення класу починається з оголошення класу. Загальній вигляд оголошеня класу є наступнім:
  12. модифікатор class НовийКласс extends Ім'яCуперкласу implements Ім'яIнтерфейсу
  13. Курсивом виділені ключові слова, підкреслені слова - необхідні атрибути класу, інші - у міру необхідності. Після оголошення класу, оголошуються поля класу, потім оголошуються методи класу.
  14. Після оголошення йде дужка{, для якої в кінці файлу ставиться дужка}. Всередині визначається тіло класу. Файл, в якому збережений клас повинен бути однойменним з класом (обов'язково для класів public) і розширенням *.java.
  15. Модифікатори бувають наступними:
  16. класи public - доступні для всіх об'єктів;
  17. класи friendly - якщо відсутній модифікатор, то клас створюється за умовчанням (всі класи за умовчанням мають доступ friendly) Це значить, що клас може використовуватися іншими класами, проте він доступний тільки для об'єктів, що знаходяться в тому ж самому пакеті;
  18. класи final - класи не можуть мати підкласів;
  19. класи abstract - клас, в якому хоча б один метод не описаний повністю.
  20. Коли нові класи успадковують властивості іншого класу, вони називаються класами-нащадками або підкласами, клас, від якого вони відбуваються, називається батьківським або суперкласом.
  21. Імена класів, подібно іншим ідентифікатором, починаються із заголовної букви, « _ » або « $ », не можуть співпадати з ключовими словами
  22. Методи є основою Java-програм. Всі операції в будь-яких додатках або аплетах здійснюються в методах. Метод має два елементи: оголошення і тіло методу. При оголошенні методу обов'язково указується тип, що повертається, і назва методу. Загальний вид оголошення методу наступний: специфікат_доступу модифікатор знач._що_повертається ім'я_методу (параметри)
  23. Підкреслені слова - необхідні атрибути методу.
  24. Специфікатори доступу, що використовуються для обмежень доступу до даного методу, бувають:
  25. public – даний специфікатор дає доступ до даного методу всіх класів, тобто метод public ніяк не захищений.
  26. protected – (захищений), до цього методу можуть звертатися будь–які класи, що знаходяться в тому ж пакеті проте інші класи до них звертатися не можуть.
  27. friendly – (дружній) методи доступні тільки з поточного класу і будь–яких класів, породжених від нього. Якщо специфікатор не вказаний, то розглядається як friendly.
  28. private – вищий ступінь захисту методу, він доступний методам тільки такого ж класу.
  29. Модифікатори методів дозволяють визначати властивості методу, наприклад, його видимість і способи взаємодії поточним класом його підкласів.
  30. static – статичні змінні і методи тісно зв'язані. Вони можуть працювати тільки із змінними і методами, оголошеними як static.
  31. abstract – абстрактні методи просто оголошуються, але не реалізуються в даному класі. Тіло методу повинно бути описано в підкласах поточного класу.
  32. synchronizer – ключове слово, поміщене в оголошення методу дозволяє захистити дані, які можуть бути зруйновані у випадку, якщо два методи намагаються одночасно звернутися до одних і тих же даних.
  33. Повертати результат - одна з головних задач методу. Методи Java можуть повертати дані будь-яких типів, починаючи від простих і закінчуючи складними об'єктами. Якщо не вказано слово void, то метод обов'язково повинен повернути значення вказаного типу в оголошення методу. Назва методів така ж, як і для будь-яких ідентифікаторів, список параметрів - інформація, передача методу, звичайно пишеться у форматі
  34. (тип ім'я, тип ім'я ) і може містити будь-яке число параметрів.
  35. Методи описуються за допомогою блоків операторів, тобто послідовності операторів, укладених в { }. Блоки, тобто{ }, використовуються так само для управління областю дії об'єкту. Якщо оголошується змінна, то вона доступна тільки в області даного блоку.
  36. Класи в Java використовуються для створення об'єктів.
  37. В Java існують методи, ім'я яких співпадає з ім'ям класу. Це методи конструктора даного класу. Конструктор – це спеціальний метод, ім'я якого співпадає з ім'ям класу, призначений для ініціалізації змінних екземпляра класу даного об'єкту. Java викликає метод конструктора класу, коли програма створює об'єкт цього класу. Звичайно клас має декілька конструкторів. Це можливо завдяки використовуванню механізму перевантаження методів. Конструктори можуть мати параметри, але не можуть явно визначати тип даних, що повертаються, це і відрізняє їх від інших методів. Конструктор повертає посилання на створений об'єкт.
  38. Розглянемо деякий клас Parallelogramm, і на його прикладі відстежимо створення і ініціалізацію об'єктів:
  39.  
  40. // Parallelogramm.java
  41.  
  42. 1 class Parallelogramm {
  43. 2 private int a,b,h;
  44. 3 public Parallelogramm (int a,int b,int h){
  45. 4 this.a=a;
  46. 5 this.b=b;
  47. 6 this.h=h;
  48. 7 }
  49. 8 public static double ploshad(Parallelogramm P){
  50. 9 return (P.a *P.h);
  51. 10 }
  52. 11 public double perimetr(){
  53. 12 return (2*this.a+2*this.b);
  54. 13 }
  55. 14 }
  56.  
  57. В класі Parallelogramm використовується метод конструктора класу (рядки 3-7), реалізовані методи знаходження площі (рядки 8-10) і периметра (рядки 11-13) паралелограма. Зверніть увагу на використовування ключового слова this в прикладі, в Java воно використовується для того, щоб розрізняти звернення до змінних класу і змінних методу.
  58.  
  59. // ParallelogrammTest.java
  60.  
  61. 15 public class ParallelogrammTest {
  62. 16 public static void main(String[] args) {
  63. 17 Parallelogramm p = new Parallelogramm (4,3,2);
  64. 18 try {
  65. 19 System.out.println("Pl_p="+Parallelogramm.ploshad(p));
  66. 20 System.out.println("Pr_p=" + p.perimetr());
  67. 21 }
  68. 22 catch(IndexOutOfBoundsException e1) {
  69. 23 System.out.println("Exception");
  70. 24 }
  71. 25 }
  72. 26 }
  73. Для створення об'єкту потрібно використовувати ключове слово new, що генерує екземпляр класу. В рядку 17, ініціалізувався об'єкт шляхом виклику конструктора з класу Parallelogramm з параметрами. Після цього можна звертатися до методів і змінних нового класу за допомогою операції “.”, подібний обіг вказаний в рядках 19-20.
  74.  
  75.  Завдання до лабораторної роботи 2:
  76. Створити клас «Точка на площині». Точки, при з'єднанні, повинні утворити прямокутний трикутник. Реалізувати в класі конструктор за умовчанням (без параметрів) і с параметрами, ряд методів для роботи з точками площини:
  77. • Відстань між двома точками (статичний метод).
  78. • Відстань від даної точки до іншої точки (метод для об’єкту).
  79. • Величині кутів, прилеглих до гіпотенузи в градусах.
  80. • Зсув точки по осі Х, Y на задану величину.
  81. • етод для отримання Х- і У- координати точки.
  82. Перевірити роботу цих методів.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement