DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи: Спадкування та інтерфейси

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2026
Тип роботи:
Лабораторна робота
Предмет:
Системне програмне забезпечення
Група:
КІ-31
Коротко про документ

Про що ця робота

У цій лабораторній роботі досліджено принципи спадкування та реалізації інтерфейсів у мові програмування Java. Розроблено ієрархію класів та інтерфейсів для моделювання піддослідного кота.

У роботі розглядаються

  • Спадкування
  • Інтерфейси
  • Об'єктно-орієнтоване програмування
  • Мова програмування Java
  • Абстрактні класи
  • Програмна документація
  • Ієрархія класів

Зміст і розділи

  1. Тема
  2. Мета
  3. Завдання
  4. Хід роботи
  5. Висновки
  6. Код програми
Для кого:Студенти технічних спеціальностей, викладачі та розробники, які вивчають об'єктно-орієнтоване програмування на Java.
Викладачі:Баран

Ключові поняття

спадкуванняінтерфейскласабстрактний класпакетметодJavaдокументаціяієрархія

Частина тексту файла (без зображень, графіків і формул):

Тема: Спадкування та інтерфейси. Мета: ознайомитися з спадкуванням та інтерфейсами у мові Java. Завдання: ЗАВДАННЯ 1. Написати та налагодити програму на мові Java, що розширює клас, що реалізований у лабораторній роботі №3, для реалізації предметної області заданої варіантом. Суперклас, що реалізований у лабораторній роботі №3, зробити абстрактним. Розроблений підклас має забезпечувати механізми свого коректного функціонування та реалізовувати мінімум один інтерфейс. Програма має розміщуватися в пакеті Група.Прізвище.Lab4 та володіти коментарями, які дозволять автоматично згенерувати документацію до розробленого пакету. 2. Автоматично згенерувати документацію до розробленого пакету. 3. Скласти звіт про виконану роботу з приведенням тексту програми, результату її виконання та фрагменту згенерованої документації. 4. Дати відповідь на контрольні запитання. Варіант: 4. Піддослідний кіт Хід роботи: Рис. 1 Результат виконання програми Висновки: В даній лабораторній роботі я ознайомився з спадкуванням та інтерфейсами у мові Java. Код програми: Файл CatApp.java /** * lab 3 package */ package KI31.Hula.Lab4; import java.io.FileNotFoundException; /** * Class <code>ExperimentalCatApp</code> implements a еxperimental сat * * @version 1.0 */ public class ExperimentalCatApp { public static void main(String[] args) throws FileNotFoundException, InterruptedException { ExperimentalCatImplements cat = new ExperimentalCatImplements(); cat.setName("Tomas"); cat.walk(4); cat.gnash(); cat.gnash(); cat.Eat(20); cat.sleep(12); System.out.println("Energy: " + cat.getEnergy()); System.out.println("Hunger: " + cat.getHunger()); cat.Eat(20); } } Файл Cat.java /** * lab 4 package */ package KI31.Hula.Lab4; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; import KI31.Hula.Lab3.Head; import KI31.Hula.Lab3.Paw; import KI31.Hula.Lab3.Tail; /** * Class <code>Cat</code> implements a pet cat * @author [ім’я автора приховано] * @version 1.0 */ public abstract class Cat{ private Head head; private Paw[] paws = {new Paw(), new Paw(), new Paw(), new Paw()}; private Tail tail; private String name; private int age; private double weight; private String color; private PrintWriter fout; /** * Constructor * * @throws FileNotFoundException */ public Cat() throws FileNotFoundException { this.head = new Head(); this.tail = new Tail(); fout = new PrintWriter(new File("Log.txt")); } /** * Constructor * * @param <code>name</code> * @param <code>tail</code> * @param <code>paws</code> * @throws FileNotFoundException */ public Cat(String name, Tail tail, Paw[] paws) throws FileNotFoundException { this.head = new Head(); this.tail = tail; this.paws = paws; this.name = name; fout = new PrintWriter(new File("Log.txt")); } /** * Constructor with all parameters * * @param <code>name</code> * @param <code>age</code> * @param <code>weight</code> * @param <code>color</code> * @param <code>tail</code> * @param <code>head</code> * @param <code>paws</code> * @throws FileNotFoundException */ public Cat(Head head, Paw[] paws, Tail tail, String name, int age, double weight, String color) throws FileNotFoundException { super(); this.head = head; this.paws = paws; this.tail = tail; this.name = name; this.age = age; this.weight = weight; this.color = color; fout = new PrintWriter(new File("Log.txt")); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public Head getHead() { return head; } public Paw[] getPaws() { return paws; } public Tail getTail() { return tail; } public PrintWriter getFout() { return fout; } /** * Method added paw to the cat * * @param <code>paw</code> * @return Cat's current count of paws */ public Paw[] addPaw(Paw paw) { Paw[] paws = new Paw[this.paws.length + 1]; paws = this.paws.clone(); paws[paws.length - 1] = paw; this.paws = paws.clone(); return this.paws; } /** * Method implements a cat's walking distance * * @param <code>distance</code> The distance that a cat has to go through * @throws InterruptedException */ public abstract void walk(int distance) throws InterruptedException; /** * Method implements cat`s gnash */ public void gnash() { for (Paw paw : paws) { paw.gnash(); } } /** * Method releases used recourses */ public void dispose() { fout.close(); } @Override public String toString() { return "Cat [name=" + name + ", age=" + age + ", weight=" + weight + ", color=" + color + "]"; } } Файл ExperimentalCat.java /** * lab 4 package */ package KI31.Hula.Lab4; /** * Interface <code>ExperimentalCat</code> describes a еxperimental сat * @author [ім’я автора приховано] * @version 1.0 */ public interface ExperimentalCat { public void Eat(int food); public void sleep(int time); public int checkEnergy(); public int checkHunger(); public boolean AreYouAlive(); } Файл ExperimentalCatImplements.java /** * lab 4 package */ package KI31.Hula.Lab4; import java.io.FileNotFoundException; import java.util.concurrent.TimeUnit; import KI31.Hula.Lab3.Paw; import KI31.Hula.Lab3.Position; /** * Class <code>ExperimentalCatImplements</code> implements a еxperimental сat * @author [ім’я автора приховано] * @version 1.0 */ public class ExperimentalCatImplements extends Cat implements ExperimentalCat{ private int energy; private int hunger; public ExperimentalCatImplements() throws FileNotFoundException, InterruptedException { super(); this.energy = 100; this.hunger = 100; } @Override public void walk(int distance) throws InterruptedException { Paw[] paws = this.getPaws(); while(distance > 0) { for (int i = 0; i < paws.length; i++) { if((i % 2 == 0 && paws[i].getPosition() == Position.NEUTRAL) || paws[i].getPosition() == Position.DOWN) { paws[i].raisePaw(); System.out.println("Paw " + i + " " + paws[i].getPosition()); } else { paws[i].lowerPaw(); System.out.println("Paw " + i + " " + paws[i].getPosition()); } TimeUnit.SECONDS.sleep(1); } distance--; this.hunger -= distance*2; this.energy -= distance*2; } } @Override public void Eat(int food) { if(checkHunger() == 100) { System.out.println("Cat doesn`t want eat"); } else { this.hunger += food*2; this.energy -= food/2; this.hunger = checkHunger(); System.out.println("Om nom nom"); AreYouAlive(); } } @Override public void sleep(int time) { if(checkEnergy() == 100) { System.out.println("Cat doesn`t want sleep"); } else { this.energy += time*2; this.energy = checkEnergy(); this.hunger -= time; System.out.println("sleep ZZzzz..."); AreYouAlive(); } } @Override public int checkHunger() { if(this.hunger >= 100) { return 100; } else { return this.hunger; } } @Override public int checkEnergy() { if(this.energy >= 100) { return 100; } else { return this.energy; } } @Override public boolean AreYouAlive() { if(this.hunger <= 0 || this.energy <= 0 ) { System.out.println("Cat " + super.getName() + " die"); return false; } else { return true; } } public int getEnergy() { return energy; } public int getHunger() { return hunger; } @Override public void gnash() { this.hunger -= 3; this.energy -= 3; super.gnash(); }
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!