ЗАДАЧА 12.02.01.

package com.javarush.test.level12.lesson02.task01;

/* Я не корова, Я - кит.
Переопределить метод getName в классе Whale(Кит), чтобы программа выдавала:
Я не корова, Я - кит.
*/

public class Solution
{
    public static void main(String[] args)
    {
        Cow cow = new Whale();

        System.out.println(cow.getName());
    }

    public static class Cow
    {
        public String getName()
        {
            return "Я - корова";
        }
    }

    public static class Whale extends Cow
    {
        public String getName()
        {
            return "Я не корова, Я - кит.";
        }
    }
}

 

ЗАДАЧА 12.02.02.

package com.javarush.test.level12.lesson02.task02;

/* Ничего не выводится на экран
Переопределить метод getName в классе Whale(Кит), чтобы программа ничего не выдавала на экран.
*/

public class Solution
{
    public static void main(String[] args)
    {
        Cow cow = new Whale();

        System.out.println(cow.getName());
    }

    public static class Cow
    {
        public String getName()
        {
            return "Я - корова";
        }
    }

    public static class Whale extends Cow
    {
        public String getName()
        {
            return "";
        }
    }
}

 

ЗАДАЧА 12.02.03.

package com.javarush.test.level12.lesson02.task03;

/* Кот от кота, а собака от собаки
Переопределить метод getChild в классах Cat(кот) и Dog(собака), чтобы кот порождал кота, а собака – собаку.
*/

public class Solution
{
    public static void main(String[] args)
    {
        Pet pet1 = new Cat();
        Pet cat = pet1.getChild();

        Pet pet2 = new Dog();
        Pet dog = pet2.getChild();
    }

    public static class Pet
    {
        public Pet getChild()
        {
            return new Pet();
        }
    }

    public static class Cat extends Pet
    {
        public Pet getChild()
        {
            return new Cat();
        }
    }

    public static class Dog extends Pet
    {
        public Pet getChild()
        {
            return new Dog();
        }
    }
}

 

ЗАДАЧА 12.02.04.

package com.javarush.test.level12.lesson02.task04;

/* Или «Кошка», или «Собака», или «Птица», или «Лампа»
Написать метод, который определяет, объект какого класса ему передали, и выводит на экран одну из надписей: Кошка, Собака, Птица, Лампа.
*/

public class Solution
{
    public static void main(String[] args)
    {
        printObjectType(new Cat());
        printObjectType(new Bird());
        printObjectType(new Lamp());
        printObjectType(new Cat());
        printObjectType(new Dog());
    }

    public static void printObjectType(Object o)
    {
      //Напишите тут ваше решение
        if (o instanceof Cat)
        {
            System.out.println("Кошка");
        }
        else if (o instanceof Dog)
        {
            System.out.println("Собака");
        }
        else if (o instanceof Bird)
        {
            System.out.println("Птица");
        }
        else System.out.println("Лампа");
    }

    public static class Cat
    {
    }

    public static class Dog
    {
    }

    public static class Bird
    {
    }

    public static class Lamp
    {
    }
}

 

ЗАДАЧА 12.02.05.

package com.javarush.test.level12.lesson02.task05;

/* Или «Корова», или «Кит», или «Собака», или «Неизвестное животное»
Написать метод, который определяет, объект какого класса ему передали, и возвращает результат – одно значение из: «Корова», «Кит», «Собака», «Неизвестное животное».
*/

public class Solution
{
    public static void main(String[] args)
    {
        System.out.println(getObjectType(new Cow()));
        System.out.println(getObjectType(new Dog()));
        System.out.println(getObjectType(new Whale()));
        System.out.println(getObjectType(new Pig()));
    }

    public static String getObjectType(Object o)
    {
        //Напишите тут ваше решение
        if (o instanceof Cow)
            return "Корова";
        else if (o instanceof Dog)
            return "Собака";
        else if (o instanceof Whale)
            return "Кит";
        else

        return "Неизвестное животное";
    }

    public static class Cow
    {
    }

    public static class Dog
    {
    }

    public static class Whale
    {
    }

    public static class Pig
    {
    }
}