Advertisement
jaVer404

level14.lesson06.home01

Jun 23rd, 2015
444
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.45 KB | None | 0 0
  1. package com.javarush.test.level14.lesson06.home01;
  2.  
  3. /* Куриная фабрика
  4. Написать Фабрику(Factory) по производству кур(Hen)
  5. 1. Создать класс Hen
  6. 1.1. Сделать его абстрактным//done
  7. 1.2. Добавить в класс абстрактный метод  int getCountOfEggsPerMonth()
  8. 1.3. Добавить в класс метод String getDescription(), который возвращает строку "Я курица."
  9.  
  10. 2. Создать класс RussianHen, который наследуется от Hen
  11. 3. Создать класс UkrainianHen, который наследуется от Hen
  12. 4. Создать класс MoldovanHen, который наследуется от Hen
  13. 5. Создать класс BelarusianHen, который наследуется от Hen
  14.  
  15. 6. В каждом из четырех последних классов написать свою реализацию метода getCountOfEggsPerMonth.
  16. Методы должны возвращать количество яиц в месяц от данного типа куриц.
  17.         Откуда берется это число?
  18.  
  19. 7. В каждом из четырех последних классов написать свою реализацию метода getDescription.
  20. Методы должны возвращать строку вида:
  21. <getDescription() родительского класса>  + <" Моя страна - SSSSS. Я несу N яиц в месяц.">
  22. где SSSSS - название страны
  23. где N - количество яиц в месяц
  24.  
  25. 8. В классе HenFactory реализовать меетод getHen, который возвращает соответствующую стране породу кур
  26. 9. Все созданные вами классы должны быть в отдельных файлах
  27. */
  28.  
  29. public class Solution
  30. {
  31.     public static void main(String[] args)
  32.     {
  33.         Hen hen = HenFactory.getHen(Country.BELARUS);
  34.         hen.getCountOfEggsPerMonth();
  35.     }
  36.  
  37.     static class HenFactory {
  38.         static Hen getHen(String country) {
  39.             Hen hen = null;
  40.             //add your code here
  41.             if (country.equals(Country.RUSSIA)) {
  42.                 hen = new RussianHen();
  43.             }
  44.             if (country.equals(Country.MOLDOVA)) {
  45.                 hen = new MoldovanHen();
  46.             }
  47.             if (country.equals(Country.UKRAINE)) {
  48.                 hen = new UkrainianHen();
  49.             }
  50.             if (country.equals(Country.BELARUS)) {
  51.                 hen = new BelarusianHen();
  52.             }
  53.             return hen;
  54.         }
  55.     }
  56.  
  57.  
  58. }
  59. /*----------------------------------------------------------------*/
  60. package com.javarush.test.level14.lesson06.home01;
  61.  
  62. /**
  63.  * Created by Т-34 on 23.06.2015.
  64.  */
  65. public abstract class Hen implements Country
  66. {
  67.     int N;
  68.     String country;
  69.     public abstract int getCountOfEggsPerMonth();
  70.     public String getDescription(){
  71.         return "Я курица.";
  72.     }
  73. }
  74. /*----------------------------------------------------------------*/
  75. package com.javarush.test.level14.lesson06.home01;
  76.  
  77. /**
  78.  * Created by Т-34 on 23.06.2015.
  79.  */
  80. public class RussianHen extends Hen
  81. {
  82.     String country = RUSSIA;
  83.     public int getCountOfEggsPerMonth(){
  84.         return this.N;
  85.     }
  86.     public String getDescription(){
  87.         return super.getDescription() + " Моя страна - " + this.country + ". Я несу " + getCountOfEggsPerMonth() + " яиц в месяц.";
  88.     }
  89. }
  90. /*----------------------------------------------------------------*/
  91. package com.javarush.test.level14.lesson06.home01;
  92.  
  93. /**
  94.  * Created by Т-34 on 23.06.2015.
  95.  */
  96. public class MoldovanHen extends Hen
  97. {
  98.     String country = MOLDOVA;
  99.     public int getCountOfEggsPerMonth(){
  100.         return this.N;
  101.     }
  102.     public String getDescription(){
  103.         return super.getDescription() + " Моя страна - " + this.country + ". Я несу " + getCountOfEggsPerMonth() + " яиц в месяц.";
  104.     }
  105. }
  106. /*----------------------------------------------------------------*/
  107. package com.javarush.test.level14.lesson06.home01;
  108.  
  109. /**
  110.  * Created by Т-34 on 23.06.2015.
  111.  */
  112. public class UkrainianHen extends Hen
  113. {
  114.     String country = UKRAINE;
  115.     public int getCountOfEggsPerMonth(){
  116.         return this.N;
  117.     }
  118.     public String getDescription(){
  119.         return super.getDescription() + " Моя страна - " + this.country + ". Я несу " + getCountOfEggsPerMonth() + " яиц в месяц.";
  120.     }
  121. }
  122. /*----------------------------------------------------------------*/
  123. package com.javarush.test.level14.lesson06.home01;
  124.  
  125. /**
  126.  * Created by Т-34 on 23.06.2015.
  127.  */
  128. public class BelarusianHen extends Hen
  129. {
  130.     String country = BELARUS;
  131.     public int getCountOfEggsPerMonth(){
  132.         return this.N;
  133.     }
  134.     public String getDescription(){
  135.         return super.getDescription() + " Моя страна - " + this.country + ". Я несу " + getCountOfEggsPerMonth() + " яиц в месяц.";
  136.     }
  137. }
  138. /*----------------------------------------------------------------*/
  139. package com.javarush.test.level14.lesson06.home01;
  140.  
  141. public interface Country
  142. {
  143.     String UKRAINE = "Ukraine";
  144.     String RUSSIA = "Russia";
  145.     String MOLDOVA = "Moldova";
  146.     String BELARUS = "Belarus";
  147. }
  148. /*----------------------------------------------------------------*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement