Всего на сайте:
248 тыс. 773 статей

Главная | Информатика

Лабораторна робота №5  Просмотрен 407

  1. H Домашнє завдання. На основі документації по класу Math написати програму, яка як парамет..
  2. Лабораторна робота №3
  3. H Домашнє завдання. Пропрацювати тему призначену для самостійного вивчення по поточній тем..
  4. H Домашнє завдання. Створити обєкт класу StringBuffer, що містить деякий текст. Визначити ..
  5. Тема – Створення візуального додатку на Java . Використання компонувальників об'єктів. Обробка подій.
  6. H Домашнє завдання. Пропрацювати тему призначену для самостійного вивчення по поточній тем..
  7. Завдання до лабораторної роботи 8, Написати програму для обчислення таблиці значень функції
  8. Тема – Створення візуального додатку на Java. Використання файлів.
  9. Завдання до лабораторної роботи 9, Створити «Телефонний довідник», в який заноситься прізвище і телефон
  10. Тема – Створення візуального додатка на Java. Використання колекцій об'єктів.
  11. Класс TreeSet
  12. Завдання до лабораторної роботи 10, У цій лабораторній роботі використовується додаток з попередньої лабораторної

Тема - Інтерфейси.

Ціль:

отримання знань і умінь при створенні і реалізації інтерфейсів в Java.

Порядок виконання:

Необхідно створити додаток, в якому описані два інтерфейси.

Створити клас для опису персонажів, а також продемонструвати роботу методів, реалізованих класом.

Методичні вказівки

Поняття інтерфейсу чимось схоже на абстрактний клас. Інтерфейс - це повністю абстрактний клас, що не містить ніяких полів, окрім констант (static final). Використовується наступна термінологія: клас успадковує інший клас, але, клас задовольняє інтерфейсу, клас реалізує, виконує інтерфейс.

Існує відмінність інтерфейсів від класів взагалі і від абстрактних класів, зокрема. Інтерфейси допускають множинне спадкоємство. Тобто один клас може задовольняти декільком інтерфейсам відразу.

Це пов'язано з тим, що інтерфейси не породжують проблем з множинним спадкоємством, оскільки вони не містять полів.

Синтаксис:

 

public interface XXX {

. . .

int f(String s);

}

Це опис інтерфейсу XXX. Усередині дужок можуть знаходитися тільки описи методів (без реалізації) і описи констант (static final - полів). В даному випадку інтерфейс XXX містить, зокрема метод f(...).

public class R implements Serializable, XXX {

. . .}

Клас R реалізує інтерфейси Serializable і XXX.

Усередині класу, що реалізовує деякий інтерфейс, повинні бути реалізовані всі методи, описані в цьому інтерфейсі. Оскільки XXX має метод f(...), то в класі R він повинен бути реалізований:

 

public class R implements Serializable, XXX {

. . .

public int f(String s) {

...

}

...

}

Зверніть увагу, що в інтерфейсі метод f(...) описаний без модифікатора public, а в класі R з модифікатором public. Річ у тому, що всі методи інтерфейсу за умовчанням вважаються public, так що цей описувач там можна опустити. А в класі R ми зобов'язані його використовувати явно.

Ще одним загальним моментом інтерфейсів і абстрактних класів є те, що хоча і не можна створювати об'єкти інтерфейсів, але можна описувати змінні типу інтерфейсів.

Розглянемо приклад інтерфейсу.

 

1 public interface Shape{

2 public abstract double area();

3 public abstract double volume();

4 public abstract String getName();

5 }

Визначення інтерфейсу Shape починається в рядку 1. Інтерфейс містить абстрактні методи area(), volume(), getName(). При реалізації даного інтерфейсу яким-небудь класом, клас бере на себе зобов'язання реалізувати кожний метод інтерфейсу. Наприклад,

 

public class Point implements Shape{

protected int x, y;

...

public double area(){

return 0.0;

}

public double volume(){

return 0.0;

}

public String getName(){

return “Объект Point”;

}

}

Одна з переваг використовування інтерфейсу полягає в том, що клас може реалізовувати стільки інтерфейсів, скільки може потрібно для розширення класу.

 

& Завдання до лабораторної роботи 5:

Створити інтерфейси, що описують можливості ігрових персонажів (біг, стрибки, стрільба, плавання). Створити базовий клас персонажа для гри і два успадкованих класу персонажа, які використовують інтерфейси для визначення своїх можливостей.

Контрольні питання:

  1. Поняття абстрактного методу.
  2. Поняття абстрактного класу.
  3. Поняття інтерфейсу.
  4. Реалізація інтерфейсу.
  5. Множинна реалізація інтерфейсу.
  6. Відмінності між одиничним і множинним спадкоємством

Зміст звіту:

звіт містить постановку задачі, надруковану програму, результат виконання та висновки. Для захисту роботи необхідно знати відповіді на контрольні питання до лабораторної роботи 4.

Предыдущая статья:H Домашнє завдання. Пропрацювати тему призначену для самостійного вивчення по поточній тем.. Следующая статья:H Домашнє завдання. Створити обєкт класу StringBuffer, що містить деякий текст. Визначити ..
page speed (0.0196 sec, direct)