package com.company;

public class Main {
    public static void main(String[] args) {
        Hen hen = HenFactory.getHen(Country.RUSSIA);
        hen.getCountOfEggsPerMonth();
        System.out.println(hen.getDescription());
    }

    static class HenFactory {

        static Hen getHen(String country) {
            Hen hen = null;

            if (country.equals(Country.RUSSIA)) { hen = new RussianHen(); }
            return hen;
        }
    }
     abstract static class Hen {

        abstract int getCountOfEggsPerMonth();

        String getDescription(){
            return ("Я - курица. ");
        }
    }
    class RussianHen extends Hen {

        int getCountOfEggsPerMonth() {
            return 10;
        }
        String getDescription() {
            return (super.getDescription() +
                    "Моя страна - Russia. " +
                    "Я несу " + this.getCountOfEggsPerMonth() + " яиц в месяц.");
        }
    }
}