From a1fbf46ee19c1fbb32c85436d73bfe34f78bf71e Mon Sep 17 00:00:00 2001 From: Trixterfox1985 <52834165+Trixterfox1985@users.noreply.github.com> Date: Fri, 26 Jul 2019 18:01:17 +0300 Subject: [PATCH] Robot-Evgen's --- CoffeRobot.java | 22 ++++++++++++++ Robot.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++ RobotCoocker.java | 23 +++++++++++++++ RobotDancer.java | 22 ++++++++++++++ RobotExecute.java | 33 +++++++++++++++++++++ 5 files changed, 175 insertions(+) create mode 100644 CoffeRobot.java create mode 100644 Robot.java create mode 100644 RobotCoocker.java create mode 100644 RobotDancer.java create mode 100644 RobotExecute.java diff --git a/CoffeRobot.java b/CoffeRobot.java new file mode 100644 index 0000000..ae773a3 --- /dev/null +++ b/CoffeRobot.java @@ -0,0 +1,22 @@ +public class CoffeRobot extends Robot { + + public CoffeRobot() { + System.out.println("Параметри не ініціалізовані"); + } + + public CoffeRobot(int numeration, String str) { + super(numeration, str); + setNumeration(numeration); + setStr(str); + } + + public CoffeRobot(Robot rob) { + super(rob); + } + + @Override + void work (){ + System.out.println("Я " + getStr() + " – я варю каву"); + System.out.println("Код: " + getNumeration()); + } +} diff --git a/Robot.java b/Robot.java new file mode 100644 index 0000000..94a6464 --- /dev/null +++ b/Robot.java @@ -0,0 +1,75 @@ +//Створити клас Robot від якого слід унаслідувати CoffeRobot, RobotDancer, RobotCoocker. В Robot є метод work() , в якому слід описати роботу яку виконує кожен з роботів. +// Для Robot в методі work() слід написати код, щоб на консоль виводився наступний текст «Я Robot – я просто працюю». +// Для CoffeRobot в методі work() слід написати код, щоб на консоль виводився наступний текст «Я CoffeRobot – я варю каву». +// Для RobotDancer в методі work() слід написати код, щоб на консоль виводився наступний текст «Я RobotDancer – я просто танцюю». +// Для RobotCoocker в методі work() слід написати код, щоб на консоль виводився наступний текст «Я RobotCoocker – я просто готую». +// Створити в Main класі екземпляри даних класів і викликати до кожного з них метод work(). + +import java.util.Objects; + +public class Robot { + + private int numeration; + private String name; + + static { + System.out.println("Загальний опис робота..."); + } + + public int getNumeration() { + return numeration; + } + + public void setNumeration(int numeration) { + this.numeration = numeration; + } + + public String getStr() { + return name; + } + + public void setStr(String str) { + name = str; + } + + public Robot() { + System.out.println("Параметри не ініціалізовані"); + } + + public Robot(int numeration, String str) { + this.numeration = numeration; + name = str; + } + + public Robot(Robot rob) { + this.numeration = rob.numeration; + this.name = rob.name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Robot)) return false; + Robot robot = (Robot) o; + return getNumeration() == robot.getNumeration() && + getStr().equals(robot.getStr()); + } + + @Override + public int hashCode() { + return Objects.hash(getNumeration(), getStr()); + } + + @Override + public String toString() { + return "Robot{" + + "numeration=" + numeration + + ", name='" + name + '\'' + + '}'; + } + + void work (){ + System.out.println("Я " + name + " – я просто працюю"); + System.out.println("Код: " + getNumeration()); + } +} diff --git a/RobotCoocker.java b/RobotCoocker.java new file mode 100644 index 0000000..88dc0b0 --- /dev/null +++ b/RobotCoocker.java @@ -0,0 +1,23 @@ +public class RobotCoocker extends Robot{ + + public RobotCoocker() { + System.out.println("Параметри не ініціалізовані"); + } + + public RobotCoocker(int numeration, String str) { + super(numeration, str); + setNumeration(numeration); + setStr(str); + } + + public RobotCoocker(Robot rob) { + super(rob); + } + + @Override + void work () + { + System.out.println("Я " + getStr() + " – я просто готую"); + System.out.println("Код: " + getNumeration()); + } +} diff --git a/RobotDancer.java b/RobotDancer.java new file mode 100644 index 0000000..3d393ed --- /dev/null +++ b/RobotDancer.java @@ -0,0 +1,22 @@ +public class RobotDancer extends Robot { + + public RobotDancer() { + System.out.println("Параметри не ініціалізовані"); + } + + public RobotDancer(int numeration, String str) { + super(numeration, str); + setNumeration(numeration); + setStr(str); + } + + public RobotDancer(Robot rob) { + super(rob); + } + + @Override + void work (){ + System.out.println("Я " + getStr() + " – я просто танцюю"); + System.out.println("Код: " + getNumeration()); + } +} diff --git a/RobotExecute.java b/RobotExecute.java new file mode 100644 index 0000000..db67bc6 --- /dev/null +++ b/RobotExecute.java @@ -0,0 +1,33 @@ +//Створити клас Robot від якого слід унаслідувати CoffeRobot, RobotDancer, RobotCoocker. В Robot є метод work() , в якому слід описати роботу яку виконує кожен з роботів. +// Для Robot в методі work() слід написати код, щоб на консоль виводився наступний текст «Я Robot – я просто працюю». +// Для CoffeRobot в методі work() слід написати код, щоб на консоль виводився наступний текст «Я CoffeRobot – я варю каву». +// Для RobotDancer в методі work() слід написати код, щоб на консоль виводився наступний текст «Я RobotDancer – я просто танцюю». +// Для RobotCoocker в методі work() слід написати код, щоб на консоль виводився наступний текст «Я RobotCoocker – я просто готую». +// Створити в Main класі екземпляри даних класів і викликати до кожного з них метод work(). + +public class RobotExecute { + public static void main(String[] args) { + + Robot robot; + Robot robotCook; + Robot robotDance; + Robot robotCoffe; + RobotDancer robotDance1; + RobotCoocker robotCook2; + + robot = new Robot(0, "Robot"); + robotCook = new RobotCoocker(1, "RobotCoocker"); + robotDance = new RobotDancer(2, "RobotDancer"); + robotDance1 = new RobotDancer(3, "RobotDancer"); + robotCoffe = new CoffeRobot(4, "CoffeRobot"); + robotCook2 = new RobotCoocker(robot); + //robotDance1 = new Robot(3, "RobotDancer"); Дане посилання заборонене, бо посилання типу RobotDancer не може посилатися на об"єкт суперкласу Robot + + robot.work(); + robotCook.work(); + robotDance.work(); + robotDance1.work(); + robotCoffe.work(); + robotCook2.work(); + } +}