From 8f6d92d8a55dc16b55889a8a6a411e286e049088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=B8=D1=81?= Date: Tue, 12 Jul 2022 20:32:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=20=D0=B2=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sem2animals/Animal.java | 13 +++++++------ sem2animals/Bird.java | 21 ++++++++++++++------- sem2animals/Cat.java | 13 ++++--------- sem2animals/Dog.java | 24 +++++++++++++++--------- sem2animals/GafGaf.java | 11 +++++++++++ sem2animals/Human.java | 7 ++++++- sem2animals/Program.java | 16 +++++++++++++--- sem2animals/Tweet.java | 13 +++++++++++++ sem2animals/Voice.java | 6 +++++- 9 files changed, 88 insertions(+), 36 deletions(-) create mode 100644 sem2animals/GafGaf.java create mode 100644 sem2animals/Tweet.java diff --git a/sem2animals/Animal.java b/sem2animals/Animal.java index cfd96f0..683227f 100644 --- a/sem2animals/Animal.java +++ b/sem2animals/Animal.java @@ -1,7 +1,5 @@ public abstract class Animal { protected String name; - - protected String color; protected int age; @@ -13,15 +11,18 @@ public abstract class Animal { // Метод добавления нового animal -- Доделать!!! // public void animalAdd(Animal... animal){ - // Animal.add(animal); - // System.out.println("sdvs"); + // Animal.add(animal); + // System.out.println("sdvs"); // } // Умение у всех животных --> ходить ПО СВОЕМУ , сделаем метод абстрактным public abstract void walk(); - // Данный метод АБСТРАКТНЫЙ - public abstract void voice(); + // @Override + public void voice() { + // System.out.println("Animal Voice -- 1 "); + + } public String getName() { return name; diff --git a/sem2animals/Bird.java b/sem2animals/Bird.java index 6605890..f35a3fb 100644 --- a/sem2animals/Bird.java +++ b/sem2animals/Bird.java @@ -1,23 +1,30 @@ -public class Bird extends Animal { +public class Bird extends Animal implements Voice { // имеет Крылья String wings; + Voice v; Bird(String name, String color, int age, String wings) { + super(name, color, age); + } + + public Bird(String name, String color, int age, String wings, Voice v){ super(name, color, age); - this.wings = wings; + this.wings = wings; //измер в см + this.v= v; } @Override public void voice() { - tweet(); + System.out.println(" О, чирик, Шеф "); + super.voice(); + } + // есть метод ходьбы , так как птицы передвигаются на Лапках public void walk() { - System.out.println(name + " изредка ходит на ножках "); + System.out.println(name + " изредка ходит на лапках "); } - void tweet(){ - System.out.println(name + " Чык -чырык )) "); - } + } diff --git a/sem2animals/Cat.java b/sem2animals/Cat.java index a0a7be1..62fde9e 100644 --- a/sem2animals/Cat.java +++ b/sem2animals/Cat.java @@ -5,26 +5,21 @@ public class Cat extends Animal implements Voice { super(name, color, age); } - public Cat(String name, String color, int age,Voice v) { + public Cat(String name, String color, int age, Voice v) { super(name, color, age); this.v = v; } @Override public void voice() { - // meow(); - } + System.out.println("Мурлык ми -- 11"); + super.voice(); + } @Override public void walk() { System.out.println(name + " Очень КЛАССНО ходит на лапках"); } - - // void meow(){ - // v.voice(); - // } - - } diff --git a/sem2animals/Dog.java b/sem2animals/Dog.java index dd73602..431393b 100644 --- a/sem2animals/Dog.java +++ b/sem2animals/Dog.java @@ -1,23 +1,29 @@ -public class Dog extends Animal { +public class Dog extends Animal implements Voice { + Voice v; Dog(String name, String color, int age) { super(name, color, age); } + public Dog(String name, String color, int age, Voice v) { + super(name, color, age); + this.v = v; + } + public void walk() { System.out.println(name + " Ходит на лапах, туда сюда обратно! "); } - + @Override public void voice() { - voiceDogs();; - } - + System.out.println("Джаф джаф -- 11"); + // new GafGaf().gaf(); + super.voice(); - void voiceDogs(){ - System.out.println(name + " Гаф -Маф "+ age + " лет"); } - -} + // void voiceDogs(){ + // System.out.println(name + " Гаф -Маф "+ age + " лет"); + // } +} diff --git a/sem2animals/GafGaf.java b/sem2animals/GafGaf.java new file mode 100644 index 0000000..7e38d6b --- /dev/null +++ b/sem2animals/GafGaf.java @@ -0,0 +1,11 @@ +public class GafGaf implements Voice{ + + @Override + public void voice(){ + gaf(); + } + + void gaf(){ + System.out.println("Гаф-гаф мазефака"); + } +} diff --git a/sem2animals/Human.java b/sem2animals/Human.java index e1b5d0d..a86fc5d 100644 --- a/sem2animals/Human.java +++ b/sem2animals/Human.java @@ -43,7 +43,8 @@ public void removeAnim(){ // для каждого Жевотного собаки, кошки и т д. мы обращаемся к конкретному питомцу (как к элементу массива) // и зовем его. void call(){ - System.out.println("///"); // строка просто для сверки + System.out.println("\n"); + System.out.println("Друг , иди ко мне "); // строка просто для сверки for (Animal animal : animals) { if(animal instanceof Cat){ animal.voice(); @@ -53,6 +54,10 @@ void call(){ animal.voice(); System.out.println(animal.getName() + " Хороший Собакен"); } + if (animal instanceof Bird){ + animal.voice(); + System.out.println(animal.getName() + " Отлично, дружок , свистать всех на палубу "); + } } } } diff --git a/sem2animals/Program.java b/sem2animals/Program.java index 9b0b0e4..fb78df7 100644 --- a/sem2animals/Program.java +++ b/sem2animals/Program.java @@ -2,9 +2,19 @@ public class Program { public static void main(String[] args) { - new Human(new Dog("Джаспер", "серый", 12)).call(); - new Human(new Cat("Эмми", "Пепельный", 8, new Meow())).call(); - } + //Вот тк не работает вызов new GafGaf и метод gaf() + new Human(new Dog("Джаспер", "черный", 12, new GafGaf())).call(); + new Human(new Cat("Кэт", "Пепельный", 8, new newMeow())).call(); + + new Human(new Bird("Яшка", "Красивы", 2, "крылья 15см",new Tweet())).call(); + + // Dog dag = new Dog("Арчи", "серо-белый", 1, new GafGaf()); + // dag.voice(); // Вот так работает вызов именно метода gaf() класса GafGaf() + // new GafGaf().gaf(); } + +} + + diff --git a/sem2animals/Tweet.java b/sem2animals/Tweet.java new file mode 100644 index 0000000..de2a118 --- /dev/null +++ b/sem2animals/Tweet.java @@ -0,0 +1,13 @@ + +public class Tweet implements Voice { + + @Override + public void voice() { + tweet(); + } + + void tweet() { + System.out.println(" Чык -чырык )) "); + } + +} diff --git a/sem2animals/Voice.java b/sem2animals/Voice.java index 0260611..b55f29b 100644 --- a/sem2animals/Voice.java +++ b/sem2animals/Voice.java @@ -1,5 +1,9 @@ public interface Voice { - void voice(); + // void voice(); + default void voice() { + System.out.println("Animal Voice"); + + }; }