Skip to content
Merged
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
13 changes: 7 additions & 6 deletions sem2animals/Animal.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
public abstract class Animal {
protected String name;


protected String color;
protected int age;

Expand All @@ -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;
Expand Down
21 changes: 14 additions & 7 deletions sem2animals/Bird.java
Original file line number Diff line number Diff line change
@@ -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 + " Чык -чырык )) ");
}

}

13 changes: 4 additions & 9 deletions sem2animals/Cat.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
// }


}
24 changes: 15 additions & 9 deletions sem2animals/Dog.java
Original file line number Diff line number Diff line change
@@ -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 + " лет");
// }

}
11 changes: 11 additions & 0 deletions sem2animals/GafGaf.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
public class GafGaf implements Voice{

@Override
public void voice(){
gaf();
}

void gaf(){
System.out.println("Гаф-гаф мазефака");
}
}
7 changes: 6 additions & 1 deletion sem2animals/Human.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -53,6 +54,10 @@ void call(){
animal.voice();
System.out.println(animal.getName() + " Хороший Собакен");
}
if (animal instanceof Bird){
animal.voice();
System.out.println(animal.getName() + " Отлично, дружок , свистать всех на палубу ");
}
}
}
}
16 changes: 13 additions & 3 deletions sem2animals/Program.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}



}


13 changes: 13 additions & 0 deletions sem2animals/Tweet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

public class Tweet implements Voice {

@Override
public void voice() {
tweet();
}

void tweet() {
System.out.println(" Чык -чырык )) ");
}

}
6 changes: 5 additions & 1 deletion sem2animals/Voice.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
public interface Voice {

void voice();
// void voice();
default void voice() {
System.out.println("Animal Voice");

};
}