diff --git a/Animal.java b/Animal.java new file mode 100644 index 0000000..7d400a9 --- /dev/null +++ b/Animal.java @@ -0,0 +1,23 @@ +package ru.geekbrains.lesson6; + + /** 1. Создать классы Собака и Кот с наследованием от класса Животное. + 2. Все животные могут бежать и плыть. В качестве параметра каждому методу передается длина препятствия. + Результатом выполнения действия будет печать в консоль. (Например, dogBobik.run(150); -> 'Бобик пробежал 150 м.'); + 3. У каждого животного есть ограничения на действия (бег: кот 200 м., собака 500 м.; плавание: кот не умеет плавать, собака 10 м.). + 4. * Добавить подсчет созданных котов, собак и животных. +**/ + public class Animal { + String name; + int run; + int swim; + + public Animal(String name, int run, int swim) { + this.name = name; + this.run = run; + this.swim = swim; + + } + public void animalInfo() {System.out.println("Животное: " + name); } + public void run() {System.out.println("Животное пробежало " + run + " метров"); } + public void swim() {System.out.println("Животное проплыло" + swim + " метров"); } + } diff --git a/AnimalApp.java b/AnimalApp.java new file mode 100644 index 0000000..a25f1da --- /dev/null +++ b/AnimalApp.java @@ -0,0 +1,48 @@ +package ru.geekbrains.lesson6; + +public class AnimalApp { + + public static void main(String[] args) { + + System.out.println("1 вариант вывода "); + System.out.println(); + Cat cat = new Cat("Барсик", 300, 2); + cat.catInfo(); + System.out.println(); + Dog dog = new Dog("Бобик", 700, 11); + dog.dogInfo(); + + System.out.println(); + System.out.println(); + System.out.println("2 вариант вывода "); + System.out.println(); + + Cat[] catArray = new Cat[3]; + catArray[0] = new Cat("Барсик", 300, 2); + catArray[1] = new Cat("Васька", 100, 1); + catArray[2] = new Cat("Рыжик", 200, 4); + + for (int i = 0; i < catArray.length; i++) { + catArray[i].catInfo(); + System.out.println(); + } + System.out.println("Всего: " + catArray.length + " кошки" ); + System.out.println(); + + Dog[] dogArray = new Dog[4]; + dogArray[0] = new Dog("Бобик", 400, 7); + dogArray[1] = new Dog("Шарик", 600, 10); + dogArray[2] = new Dog("Рекс", 500, 7); + dogArray[3] = new Dog("Халк", 700, 11); + + for (int i = 0; i < dogArray.length; i++) { + dogArray[i].dogInfo(); + System.out.println(); + } + System.out.println("Всего: " + dogArray.length + " собаки" ); + System.out.println(); + + System.out.println("Всего: " + ((catArray.length) + (dogArray.length))+ " животных /* для 2 варианта вывода " ); + + } + } \ No newline at end of file diff --git a/Cat.java b/Cat.java new file mode 100644 index 0000000..1e3d748 --- /dev/null +++ b/Cat.java @@ -0,0 +1,29 @@ +package ru.geekbrains.lesson6; + + public class Cat extends Animal { + + public Cat(String name, int run, int swim) { + super(name, run, swim); + } + + public void catName() { + System.out.println("Кот: " + super.name); + } + + + public void catRun() { + if (super.run <= 200) + System.out.println(super.name + " пробежал " + super.run + " метров "); + else System.out.println(super.name +" пробежал 200 метров из " + super.run + " метров"); + } + + public void catSwim() { + System.out.println(super.name + " не умеет плавать"); + } + + public void catInfo() { + catName(); + catRun(); + catSwim(); + } + } diff --git a/Dog.java b/Dog.java new file mode 100644 index 0000000..586234b --- /dev/null +++ b/Dog.java @@ -0,0 +1,31 @@ +package ru.geekbrains.lesson6; + +public class Dog extends Animal { + + public Dog(String name, int run, int swim) { + super(name, run, swim); + } + + public void dogName() { + System.out.println("Собака: " + super.name); + } + + public void dogRun() { + if (super.run <= 500) + System.out.println(super.name + " пробежал " + super.run + " метров "); + else System.out.println(super.name + " пробежал 500 метров из " + super.run + " метров"); + } + + public void dogSwim() { + if (super.swim <= 10) + System.out.println(super.name + " проплыл " + super.swim + " метров "); + else System.out.println(super.name + " проплыл 10 метров из " + super.swim + " метров"); + } + + public void dogInfo() { + dogName(); + dogRun(); + dogSwim(); + } + +} \ No newline at end of file