Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions CoffeRobot.java
Original file line number Diff line number Diff line change
@@ -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());
}
}
75 changes: 75 additions & 0 deletions Robot.java
Original file line number Diff line number Diff line change
@@ -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());
}
}
23 changes: 23 additions & 0 deletions RobotCoocker.java
Original file line number Diff line number Diff line change
@@ -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());
}
}
22 changes: 22 additions & 0 deletions RobotDancer.java
Original file line number Diff line number Diff line change
@@ -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());
}
}
33 changes: 33 additions & 0 deletions RobotExecute.java
Original file line number Diff line number Diff line change
@@ -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();
}
}