From 26385d7462aaa72c936be71374dd5cdadfa24de2 Mon Sep 17 00:00:00 2001 From: MityaTim Date: Wed, 8 Dec 2021 20:14:53 +0300 Subject: [PATCH] HW6 --- src/HW6/Animal.java | 23 ++++++++++++++++++++++ src/HW6/Cat.java | 45 +++++++++++++++++++++++++++++++++++++++++++ src/HW6/Dog.java | 45 +++++++++++++++++++++++++++++++++++++++++++ src/HW6/Main.java | 47 +++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 src/HW6/Animal.java create mode 100644 src/HW6/Cat.java create mode 100644 src/HW6/Dog.java diff --git a/src/HW6/Animal.java b/src/HW6/Animal.java new file mode 100644 index 0000000..e58ecaa --- /dev/null +++ b/src/HW6/Animal.java @@ -0,0 +1,23 @@ +package HW6; + +abstract class Animal { + protected static int animalCounter; + protected String name; + + public Animal(String name){ + animalCounter++; + this.name = name; + } + + public final int getAnimalCounter() { + return animalCounter; + } + + public void info(){ + System.out.println("Animal name is " + name); + } + + public abstract void swim(int swimDistance); + public abstract void run(int runDistance); + +} diff --git a/src/HW6/Cat.java b/src/HW6/Cat.java new file mode 100644 index 0000000..111a0aa --- /dev/null +++ b/src/HW6/Cat.java @@ -0,0 +1,45 @@ +package HW6; + +public class Cat extends Animal{ + protected int swimDistance = 0; + protected int runDistance = 200; + + public Cat(String name){ + super(name); + } + + public void pinfo(){ + System.out.println("Cat's max swim distance is " + swimDistance + " meters"); + System.out.println("Cat's max run distance is " + runDistance + " meters"); + } + + public void info(boolean idCountFlag){ + if (idCountFlag == true) { + System.out.println("Cat's name is " + name); + System.out.println("Current amount number of animals are " + super.getAnimalCounter()); + } + else { + System.out.println("Cat's name is " + name); + } + } + + @Override + public void swim(int swimDistance) { + if (swimDistance <= this.swimDistance){ + System.out.println("Cat " + super.name + " swam exactly " + swimDistance + " meters"); + } + else { + System.out.println("Cat " + super.name + " is drowned!"); + } + } + + @Override + public void run(int runDistance) { + if (runDistance <= this.runDistance){ + System.out.println("Cat " + super.name + " run exactly " + runDistance + " meters"); + } + else { + System.out.println("Cat " + super.name + " is exhausted!"); + } + } +} diff --git a/src/HW6/Dog.java b/src/HW6/Dog.java new file mode 100644 index 0000000..1504138 --- /dev/null +++ b/src/HW6/Dog.java @@ -0,0 +1,45 @@ +package HW6; + +public class Dog extends Animal { + protected int swimDistance = 10; + protected int runDistance = 500; + + public Dog(String name){ + super(name); + } + + public void pinfo(){ + System.out.println("Dog's max swim distance is " + swimDistance + " meters"); + System.out.println("Dog's max run distance is " + runDistance + " meters"); + } + + public void info(boolean idCountFlag){ + if (idCountFlag == true) { + System.out.println("Dog's name is " + name); + System.out.println("Current amount number of animals are " + super.getAnimalCounter()); + } + else { + System.out.println("Dog's name is " + name); + } + }; + + @Override + public void swim(int swimDistance) { + if (swimDistance <= this.swimDistance){ + System.out.println("Dog " + super.name + " swam exactly " + swimDistance + " meters"); + } + else { + System.out.println("Dog " + super.name + " is drowned!"); + } + } + + @Override + public void run(int runDistance) { + if (runDistance <= this.runDistance){ + System.out.println("Dog " + super.name + " run exactly " + runDistance + " meters"); + } + else { + System.out.println("Dog " + super.name + " is exhausted!"); + } + } +} diff --git a/src/HW6/Main.java b/src/HW6/Main.java index 450d1f8..637d95f 100644 --- a/src/HW6/Main.java +++ b/src/HW6/Main.java @@ -3,6 +3,49 @@ public class Main { public static void main(String[] args) { - // write your code here + Cat catA = new Cat("Phoebe"); + Cat catB = new Cat("Maks"); + Cat catC = new Cat("Tom"); + + Dog [] dogs = new Dog [] { + new Dog ("Chapa"), + new Dog ("Reks"), + new Dog ("Zver"), + new Dog ("Grey"), + }; + + System.out.println("======== INFO ========"); + catA.info(); + catB.info(false); + catC.info(true); + dogs[0].info(false); + for (int i = 2; i < dogs.length; i++){ + dogs[i].info(false); + } + dogs[1].info(true); + + System.out.println("======== Parameters info ========"); + catA.pinfo(); + dogs[0].pinfo(); + + + System.out.println("======== Let's swim ========"); + catA.swim(0); + catB.swim(5); + catC.swim(10); + + for (int i = 0; i < dogs.length; i++){ + dogs[i].swim(i*5); + } + + System.out.println("======== Let's run ========"); + catA.run(100); + catB.run(250); + catC.run(300); + + for (int i = 0; i < dogs.length; i++){ + dogs[i].run(i*200); + } + } -} +} \ No newline at end of file