Пакети Java містять кілька прикладів абстрактних класів. Деякі з них вже розглядалися в попередніх розділах (Date, TimeZone, NumberFormat і т.д.). Ці класи надають методи класу, які можуть бути використані для створення екземплярів класу, що і виконувалося в попередніх програмах.
9.5. Практикум 4. Ветеринарні бирки _______________________________________
Рішення 1 і конструкція класу
Для вирішення поставленого завдання ми скористаємося функцією спадкування. У нас є програма для роботи зі старими бирками. Тепер необхідно визначити новий клас бирок - XTags, який буде розширювати старий клас бирок (extends Tags) і містити новий елемент даних. Обидва класи можуть бути збережені в масиві register як об'єкти класу Tags - суперкласу цій ієрархії.
У програмі для створення об'єктів використовуються класи Tags і XTags. Метод main служить для виклику трьох методів, які виконують необхідну обробку, а метод makeTags призначений для створення об'єктів Tags і розміщення їх в масиві. Масив оголошується і визначається наступним чином:
static Tags register [] = new Tags [100];
Глова 9. Абстракція і спадкування
Спочатку клас Tags виглядає наступним чином: class Tags
* Призначений для зберігання даних про домашню тваринку. * /
String name, phone;
public Tags (String n, String p) (name = n; phone = | p;
public String toString () Клас містить конструктор і один стандартний метод toString, який дозволяє виконати конкатенацію строкових значень відповідних змінних з іншими рядками і використовується в операторі println, а також інших операторах, де потрібні рядки. Ось як виглядає частина методу makeTags, яка призначена для додавання бирки (tag) в масив register: Tags tag = new Tags (petsName, ownersPhone); register [index] = tag; У методі showTags рядки, попередньо сформовані методом toString, виводяться наступним оператором: Тепер слід додати в програму клас XTagsa який виглядає наступним чином: public class XTags extends Tags
* Призначений для створення нових ветеринарних бирок, що містять public XTags (String n, String p, String v) Практикум 4. Ветеринарні бирки 325 return name + "тел:" + phone + "тел. відділу: "+ vet; Ряд моментів заслуговує на особливу увагу. Клас XTags має доступ до змінних паші і phone, визначеним у класі Tags. Він перекриває метод toString класу Tags і оголошує власну нову змінну vet. Програма. Перш ніж ми приступимо до розгляду повного тексту програми з ветеринарії, давайте проаналізуємо важливий фрагмент коду, що відноситься до спадкоємства. 1. char kind = Text.readChar (fin); 2. petsName = Text.readString (fin); 3. ownersPhone • = Text.readString (fin); 8. tag = new Tags (petsName, ownersPhone); 13. String vetsPhone = Text.readString (fin); 14. tag = new Xtags (petsName, ownersPhone, vetsPhone); 16. register [index] = tag; Перший рядок коду отримує інформацію про те, яка бирка повинна бути видана для тваринного (тобто який об'єкт повинен бути створений) - Tags або XTags, що вказується за допомогою спеціальних символів: 'P' - проста бирка Tags,
public String toString ()
Попередня 129 130 131 132 133 134. 228 >> НаступнаСхожі статті