From 80385f3156145ce3e150b92e586e854df82cd6a5 Mon Sep 17 00:00:00 2001 From: valerpan Date: Sun, 19 Jul 2026 00:51:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/main/java/Zoo.java | 17 +++++++++-------- src/main/java/animals/Animal.java | 2 +- src/main/java/animals/Bear.java | 4 +++- src/main/java/animals/Deer.java | 2 ++ src/main/java/animals/Duck.java | 4 +++- src/main/java/animals/Fish.java | 2 ++ src/main/java/animals/Kotik.java | 4 +++- src/main/java/animals/Sheep.java | 4 +++- src/main/java/animals/Voice.java | 2 +- src/main/java/employee/Worker.java | 12 ++++++++---- 11 files changed, 36 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 480bdf5..6838748 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ target/ build/ !**/src/main/**/build/ !**/src/test/**/build/ +/.idea ### VS Code ### .vscode/ diff --git a/src/main/java/Zoo.java b/src/main/java/Zoo.java index ca09206..5289a0e 100644 --- a/src/main/java/Zoo.java +++ b/src/main/java/Zoo.java @@ -55,18 +55,19 @@ public class Zoo { worker1.getVoice(bear1); worker1.getVoice(kotik1); - worker2.getVoice(fish1); - - Animal[] pond = createPond(); + Swim[] pond = createPond(); if (pond.length > 0){ System.out.println("Пруд: "); - for (Animal animal : pond) { - if (animal.getName() != null) { - ((Swim) animal).swim(); + for (Swim swimmer : pond) { + if (swimmer instanceof Animal) { + Animal animal = (Animal) swimmer; + if (animal.getName() != null) { + swimmer.swim(); + } } } } @@ -75,7 +76,7 @@ public class Zoo { } } - public static Animal[] createPond(){ + public static Swim[] createPond(){ List pondList = new ArrayList<>(); for (Animal animal : allAnimals) { @@ -84,6 +85,6 @@ public class Zoo { } } - return pondList.toArray(new Animal[0]); + return pondList.toArray(new Swim[0]); } } diff --git a/src/main/java/animals/Animal.java b/src/main/java/animals/Animal.java index 47e7996..96ead23 100644 --- a/src/main/java/animals/Animal.java +++ b/src/main/java/animals/Animal.java @@ -4,7 +4,7 @@ import food.Food; public abstract class Animal { private String name; - public int satiety; + int satiety; public String getName(){ return this.name; diff --git a/src/main/java/animals/Bear.java b/src/main/java/animals/Bear.java index 2d540ee..add4db8 100644 --- a/src/main/java/animals/Bear.java +++ b/src/main/java/animals/Bear.java @@ -6,6 +6,8 @@ public class Bear extends Carnivorous implements Run, Voice { super(name); } + public Bear(){}; + @Override public void run() { if (this.getName() != null){ @@ -17,7 +19,7 @@ public class Bear extends Carnivorous implements Run, Voice { } @Override - public String getVoice(){ + public Voice getVoice(){ return "гррр"; } } diff --git a/src/main/java/animals/Deer.java b/src/main/java/animals/Deer.java index a43aa86..464e6c3 100644 --- a/src/main/java/animals/Deer.java +++ b/src/main/java/animals/Deer.java @@ -6,6 +6,8 @@ public class Deer extends Herbivore implements Run { super(name); } + public Deer(){}; + @Override public void run() { if (this.getName() != null){ diff --git a/src/main/java/animals/Duck.java b/src/main/java/animals/Duck.java index 8bcc8eb..8ddce9b 100644 --- a/src/main/java/animals/Duck.java +++ b/src/main/java/animals/Duck.java @@ -6,6 +6,8 @@ public class Duck extends Herbivore implements Run, Swim, Fly, Voice { super(name); } + public Duck(){}; + @Override public void run() { if (this.getName() != null){ @@ -37,7 +39,7 @@ public class Duck extends Herbivore implements Run, Swim, Fly, Voice { } @Override - public String getVoice(){ + public Voice getVoice(){ return "кря"; } } diff --git a/src/main/java/animals/Fish.java b/src/main/java/animals/Fish.java index 7614f53..3a847d4 100644 --- a/src/main/java/animals/Fish.java +++ b/src/main/java/animals/Fish.java @@ -6,6 +6,8 @@ public class Fish extends Carnivorous implements Swim { super(name); } + public Fish (){}; + @Override public void swim() { if (this.getName() != null){ diff --git a/src/main/java/animals/Kotik.java b/src/main/java/animals/Kotik.java index dc136fc..1e78358 100644 --- a/src/main/java/animals/Kotik.java +++ b/src/main/java/animals/Kotik.java @@ -6,6 +6,8 @@ public class Kotik extends Carnivorous implements Run, Voice { super(name); } + public Kotik(){}; + @Override public void run() { if (this.getName() != null){ @@ -17,7 +19,7 @@ public class Kotik extends Carnivorous implements Run, Voice { } @Override - public String getVoice(){ + public Voice getVoice(){ return "мяу"; } } diff --git a/src/main/java/animals/Sheep.java b/src/main/java/animals/Sheep.java index df4c89e..7a15724 100644 --- a/src/main/java/animals/Sheep.java +++ b/src/main/java/animals/Sheep.java @@ -6,6 +6,8 @@ public class Sheep extends Herbivore implements Run, Voice { super(name); } + public Sheep (){}; + @Override public void run() { if (this.getName() != null){ @@ -17,7 +19,7 @@ public class Sheep extends Herbivore implements Run, Voice { } @Override - public String getVoice(){ + public Voice getVoice(){ return "бее"; } } diff --git a/src/main/java/animals/Voice.java b/src/main/java/animals/Voice.java index f4892e3..36c2219 100644 --- a/src/main/java/animals/Voice.java +++ b/src/main/java/animals/Voice.java @@ -1,5 +1,5 @@ package animals; public interface Voice { - String getVoice(); + Voice getVoice(); } diff --git a/src/main/java/employee/Worker.java b/src/main/java/employee/Worker.java index d1a7453..6b34b01 100644 --- a/src/main/java/employee/Worker.java +++ b/src/main/java/employee/Worker.java @@ -29,10 +29,12 @@ public class Worker { } } - public void getVoice(Animal animal){ - if (this.Name != null || animal.getName() != null){ - if (animal instanceof Voice){ - System.out.println(this.getName() + " говорит с животным: " + animal.getName() + ". Животное отвечает - "+ ((Voice) animal).getVoice() +"."); + public void getVoice(Voice voiceAnimal) { + if (voiceAnimal instanceof Animal) { + Animal animal = (Animal) voiceAnimal; + if (animal.getName() != null && this.Name != null) { + System.out.println(this.getName() + " говорит с животным: " + animal.getName() + + ". Животное отвечает - " + voiceAnimal.getVoice() + "."); } else { System.out.println(this.getName() + " пытается говорить с животным: " + animal.getName() + ". Это животное не умеет издавать звук."); @@ -40,6 +42,8 @@ public class Worker { } } + + public Worker(){}; public Worker(String name){