Created
June 20, 2020 14:33
-
-
Save olegrewko/7b4ac802a1aae8f1a8a0b7f5d5ee008a to your computer and use it in GitHub Desktop.
Кошки_ООП_11 [GET SET]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package IgorDolgov.cats; | |
| //class Cat { | |
| // int consumed; // храним кол-во съеденной пищи | |
| // void eatFrom(Plate plate) { | |
| // // int portion = получите из тарелки порцию еды (так чтобы и в тарелке еда тоже уменьшилась) | |
| // // увеличьте consumed на размер этой порции | |
| // System.out.println("Кошка съела из тарелки " + portion); | |
| // System.out.println("Кошка всего съела " + consumed); | |
| // } | |
| //} | |
| // | |
| // | |
| //class Plate { | |
| // int amount = 100; // сколько еды в тарелке осталось | |
| // int portion = 10; // размер порции | |
| // void feed(Cat cat) { | |
| // // уменьшите размер amount на размер порции (сделайте проверку, чтобы было нельзя съесть больше, чем в тарелке осталось) | |
| // // увеличьте у кошки кол-во потребленной ей еды на размер этой порции | |
| // System.out.println("Тарелка покормила кошку на " + portion); | |
| // System.out.println("В тарелке осталось " + amount); | |
| // System.out.println("Кошка всего съела " + cat.consumed); | |
| // } | |
| // int getPortion() { | |
| // // уменьшите размер оставшейся в тарелке еды на размер порции | |
| // // (сделайте проверку, чтобы было нельзя съесть больше, чем в тарелке осталось) | |
| // // (если еды мало – то всю ее и съесть) | |
| // System.out.println("В тарелке осталось " + amount); | |
| // // верните потребленный размер порции с помощью return | |
| // } | |
| //} | |
| // | |
| // | |
| //public static void main(String[] args) { | |
| // Plate plate = new Plate(); // Общая на всех тарелка | |
| // Cat cat = new Cat(); // Кошка | |
| // cat.eatFrom(plate); // кошка кушает из тарелки, которую передали ей в параметрах | |
| // plate.feed(cat); // тарелка "кормит" кошку, которую ей передали в параметры | |
| // } | |
| //-------------------------------------------------------------------------------------------- | |
| class Count { | |
| public static int count; | |
| int setCount(int count) { | |
| this.count = count; | |
| return count; | |
| } | |
| static int getNextCount() { | |
| count++; | |
| return count; | |
| } | |
| } | |
| //-------------------------------------------------------------------------------------------- | |
| public class Main { | |
| public static void main(String[] args) { | |
| Count count = new Count(); | |
| System.out.println("Устанавливаем счетчик кошек в " + count.setCount(0)); | |
| Bowl bowl = new Bowl();//Общая на всех чаша | |
| bowl.setVoda(2000);//Наливаем воды | |
| Plate plate = new Plate();// Общая на всех тарелка | |
| plate.setEda(3000);//Кладем еды | |
| System.out.println("Общее количество сначала еды " + plate.eda); | |
| System.out.println("Общее количество сначала воды " + bowl.voda); | |
| Plate.portionEda = Plate.setPortionEda(100); | |
| Bowl.portionVoda = Bowl.setPortionVoda(200); | |
| System.out.println("Установленный размер стандартной порции еды " + Plate.portionEda); | |
| System.out.println("Установленный размер стандартной порции воды " + Bowl.portionVoda); | |
| Cat cat1 = new Cat(); // Кошка абстрактная первая | |
| Cat cat2 = new Cat(); // Кошка абстрактная вторая | |
| Cat cat3 = new Cat(); // Кошка абстрактная третья | |
| System.out.println("Создали 3 абстрактные кошки " + cat1.setCount(1) + " " + cat2.setCount(2) + " " + cat3.setCount(3)); | |
| cat1.setName("Земфира"); | |
| System.out.println("Первую абстрактную кошку назвали " + cat1.name + " Ее номер " + cat1.count ); | |
| System.out.println("Первую абстрактную кошку назвали " + cat1.getName() + " Ее номер " + cat1.getCount() ); | |
| cat2.setName("Стелла"); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat2.name + " Ее номер " + cat2.count ); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat2.getName() + " Ее номер " + cat2.getCount() ); | |
| cat3.setName("Лора"); | |
| cat3.getName(); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat3.name + " Ее номер " + cat3.count ); | |
| System.out.println("Вторую абстрактную кошку назвали " + cat3.getName() + " Ее номер " + cat3.getCount() ); | |
| Cat masha = new Cat(); | |
| masha.setName("Masha"); | |
| masha.setCount(4); | |
| Cat misha = new Cat(); | |
| misha.setName("Misha"); | |
| misha.setCount(5); | |
| Cat gala = new Cat(); | |
| gala.setName("Галя"); | |
| gala.setCount(6); | |
| Cat kate = new Cat(); | |
| kate.setName("Kate"); | |
| kate.setCount(7); | |
| Cat petr = new Cat(); | |
| petr.setName("Petr"); | |
| petr.setId(109); | |
| petr.setCount(8); | |
| Cat boris = new Cat(); | |
| boris.setName("Boris"); | |
| boris.setCount(9); | |
| System.out.println("Маша номер " + masha.count ); | |
| System.out.println("Миша номер " + misha.count ); | |
| System.out.println("Галя номер " + gala.count); | |
| System.out.println("Kate номер " + kate.count); | |
| System.out.println("Petr номер " + petr.count + " id " + petr.id); | |
| System.out.println("Boris номер " + boris.count); | |
| Cat barsic = new Cat(); | |
| barsic.setName("Barsic"); | |
| barsic.setId(879); | |
| barsic.setCount(10); | |
| System.out.println("Нашли еще кота на улице и назвали Барсик его номер стал: " + barsic.count + " id " + barsic.id ); | |
| System.out.println("Чаша будет неизвестно кого поить 3 раза: 100, 400, 300 нестандартными порциями переданными в параметрах"); | |
| bowl.drink(100); | |
| bowl.drink(400); | |
| bowl.drink(300); | |
| System.out.println(kate.name + " " + kate.count + " " + boris.name + " " + boris.count + | |
| " " + barsic.name + " " + barsic.count + " " + misha.name + " " + misha.count + " " | |
| + masha.name + " " + masha.count + | |
| " пришли пить по 5 стандартных порции воды (200 * 5 = 1000) "); | |
| kate.drink(bowl, Bowl.portionVoda); | |
| boris.drink(bowl, Bowl.portionVoda); | |
| barsic.drink(bowl, Bowl.portionVoda); | |
| misha.drink(bowl, Bowl.portionVoda); | |
| masha.drink(bowl, Bowl.portionVoda); | |
| bowl.drink(200); | |
| kate.eatFrom(plate, Plate.portionEda); // кошка кушает из тарелки, которую передали ей в параметрах | |
| cat2.eatFrom(plate, Plate.portionEda); // кошка2 кушает из тарелки, которую передали ей в параметрах | |
| plate.feed(200); | |
| plate.feed(600); | |
| plate.feed(); | |
| plate.feed(1000); | |
| plate.feed(barsic); | |
| barsic.eat(plate, Plate.portionEda); | |
| misha.eat(plate, Plate.portionEda); | |
| misha.eat(plate, Plate.portionEda); | |
| masha.eat(plate, Plate.portionEda); | |
| gala.eat(plate, Plate.portionEda); | |
| petr.eat(plate, Plate.portionEda); | |
| barsic.eat(plate, Plate.portionEda); | |
| boris.eat(plate, Plate.portionEda); // кошка кушает из тарелки, которую передали ей в параметрах | |
| plate.feed(cat2, Plate.portionEda); // тарелка "кормит" кошку, которую ей передали в параметры | |
| misha.eat(plate, Plate.portionEda); | |
| System.out.println("Проверяем номера и идентификаторы кошек"); | |
| System.out.println("Абстрактная кошка номер " + cat1.count + " Ее имя " + cat1.name ); | |
| System.out.println("Абстрактная кошка номер " + cat2.count + " Ее имя " + cat2.name ); | |
| System.out.println("Абстрактная кошка номер " + cat3.count + " Ее имя " + cat3.name ); | |
| System.out.println("Маша номер " + masha.count ); | |
| System.out.println("Миша номер " + misha.count ); | |
| System.out.println("Галя номер " + gala.count ); | |
| System.out.println("Kate номер " + kate.count ); | |
| System.out.println("Petr номер " + petr.count + " id " + petr.id ); | |
| System.out.println("Boris номер " + boris.count); | |
| System.out.println("Barsic имеет номер " + barsic.count + " id " + barsic.id); | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Абстрактная кошка номер " + cat1.count + " всего употребила еды " + cat1.consumedEda); | |
| System.out.println("Абстрактная кошка номер " + cat2.count + " всего употребила еды " + cat2.consumedEda); | |
| System.out.println("Абстрактная кошка номер " + cat3.count + " всего употребила еды " + cat3.consumedEda); | |
| System.out.println("Кошка " + masha.name + " номер " + masha.count + " всего употребила еды " + masha.consumedEda); | |
| System.out.println("Кошка " + misha.name + " номер " + misha.count + " всего употребила еды " + misha.consumedEda); | |
| System.out.println("Кошка " + gala.name + " номер " + gala.count + " всего употребила еды " + gala.consumedEda); | |
| System.out.println("Кошка " + kate.name + " номер " + kate.count + " всего употребила еды " + kate.consumedEda); | |
| System.out.println("Кошка " + petr.name + " номер " + petr.count + " всего употребила еды " + petr.consumedEda); | |
| System.out.println("Кошка " + boris.name + " номер " + boris.count + " всего употребила еды " + boris.consumedEda); | |
| System.out.println("Barsic номер " + barsic.count + " всего употребил еды " + barsic.consumedEda); | |
| int sumCatsEda = barsic.consumedEda + cat3.consumedEda + cat2.consumedEda + cat1.consumedEda + boris.consumedEda + petr.consumedEda + kate.consumedEda + gala.consumedEda | |
| + misha.consumedEda + masha.consumedEda; | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Общее кол-во еды потреблённой всеми кошками " + sumCatsEda); | |
| System.out.println("Общее количество сьеденной неизвестно кем еды (Гости?) " + plate.consumedEdaNemo); | |
| int sumEda = sumCatsEda + plate.consumedEdaNemo; | |
| System.out.println("Общее количество осталось еды " + plate.eda); | |
| System.out.println("Еды учтенной съедено " + sumEda); | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Кошка " + misha.name + " номер " + misha.count + " всего употребила воды " + misha.consumedVoda); | |
| System.out.println("Кошка " + masha.name + " номер " + masha.count + " всего употребила воды " + masha.consumedVoda); | |
| System.out.println("Кошка " + kate.name + " номер " + kate.count + " всего употребила воды " + kate.consumedVoda); | |
| System.out.println("Кошка " + boris.name + " номер " + boris.count + " всего употребила воды " + boris.consumedVoda); | |
| System.out.println("Barsic номер " + barsic.count + " всего употребила воды " + barsic.consumedVoda); | |
| int sumCatsVoda = barsic.consumedVoda + boris.consumedVoda + kate.consumedVoda + masha.consumedVoda + misha.consumedVoda; | |
| System.out.println("-------------------------------------------------------"); | |
| System.out.println("Общее кол-во потреблённой всеми нашими кошками воды " + sumCatsVoda); | |
| System.out.println("Общее количество выпитой неизвестно кем воды (Алкоголики?) " + bowl.consumedVodaNemo); | |
| System.out.println("Общее количество осталось воды " + bowl.voda); | |
| int sumVoda = sumCatsVoda + bowl.consumedVodaNemo; | |
| int sumVodaSet = sumVoda + bowl.voda; | |
| System.out.println("Количество выпитой учтенной воды " + sumVodaSet); | |
| } | |
| } | |
| //-------------------------------------------------------------------------------------------------------- | |
| class Cat { | |
| public int id; | |
| public int nextId; | |
| public String name; | |
| int count; | |
| public void setId() | |
| { | |
| id = nextId; // set id to next available id | |
| nextId++; | |
| } | |
| public int getId() { | |
| return id; | |
| } | |
| public int consumedVoda; | |
| public int consumedEda; | |
| private Cat(String name, int count) { | |
| this.name = name; | |
| count = Count.getNextCount(); | |
| } | |
| public Cat() { | |
| } | |
| public String getName() { | |
| return name; | |
| } | |
| public void setName(String name) { | |
| this.name = name; | |
| } | |
| public Cat(String name, Count count) { | |
| this.name = name; | |
| Count.count = count.getNextCount(); | |
| } | |
| public int eat(Plate plate, int portionEda) { | |
| Plate.eda = Plate.eda - portionEda; | |
| consumedEda = consumedEda + portionEda; | |
| System.out.println("--------------------------------------------------eat method begin"); | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println(name + " #" + count + " сьел сейчас " + portionEda + " а общее кол-во сьеденной им еды " + consumedEda); | |
| System.out.println(Plate.eda + " остаток еды в тарелке"); | |
| System.out.println("--------------------------------------------------eat method end"); | |
| } | |
| return Plate.eda; | |
| } | |
| public int drink(Bowl bowl, int portionVoda) { | |
| Bowl.voda = Bowl.voda - portionVoda; | |
| consumedVoda = consumedVoda + portionVoda; | |
| System.out.println("......................................................................drink method begin"); | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println(name + " #" + count + " выпил сейчас " + portionVoda + " а общее кол-во выпитой им воды " + consumedVoda); | |
| System.out.println(Bowl.voda + " остаток воды в чашке"); | |
| System.out.println("....................................................................drink method end"); | |
| } | |
| return Bowl.voda; | |
| } | |
| public int eatFrom(Plate plate, int portion) { | |
| Plate.eda = Plate.eda - portion; | |
| consumedEda = consumedEda + portion; | |
| System.out.println("--------------------------------------------------eat method begin"); | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println(name + " #" + count + " сьел " + portion + " а общее кол-во сьеденной им еды " + consumedEda); | |
| System.out.println(Plate.eda + " остаток еды в тарелке"); | |
| System.out.println("--------------------------------------------------eat method end"); | |
| } | |
| return Plate.eda; | |
| } | |
| int setCount(int count) { | |
| this.count = count; | |
| return count; | |
| } | |
| public int getCount() { | |
| this.count = count; | |
| return count; | |
| } | |
| public void setId(int i) { | |
| id = i; | |
| } | |
| } | |
| //----------------------------------------------------------------------------------- | |
| class Bowl { | |
| static int voda; | |
| public static int consumedVoda; | |
| public static int portionVoda; | |
| public int consumedVodaNemo; | |
| public static void setVoda(int i) { | |
| int amountEda = i; | |
| int amountEdaBegin = amountEda; | |
| Bowl.voda = i; | |
| System.out.println("Воды в чаше сначала " + amountEda); | |
| } | |
| public static int drink(Cat cat, int portionVoda) { | |
| consumedVoda = consumedVoda + portionVoda; | |
| Bowl.voda = Bowl.voda - portionVoda; | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println("Воды осталось " + Bowl.voda); | |
| } | |
| return Bowl.voda; | |
| } | |
| public static int setPortionVoda(int amountVoda) { | |
| int portionVoda = amountVoda; | |
| return portionVoda; | |
| } | |
| public static int getPortionVoda() { | |
| Bowl.voda = Bowl.voda - Bowl.portionVoda; | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println("Воды осталось " + Bowl.voda); | |
| } | |
| return portionVoda; | |
| } | |
| public int drink(int portionVoda) { | |
| consumedVodaNemo = consumedVodaNemo + portionVoda; | |
| Bowl.voda = Bowl.voda - portionVoda; | |
| if (Bowl.voda < 0) { | |
| Bowl.voda = 0; | |
| System.out.println("Вода закончилась"); | |
| } else { | |
| System.out.println("Неизвестно кто выпил " + portionVoda + " Воды осталось " + Bowl.voda); | |
| } | |
| return Bowl.voda; | |
| } | |
| } | |
| //----------------------------------------------------------------------- | |
| class Plate { | |
| static int eda; | |
| public static int portionEda; | |
| public int consumedEdaNemo; | |
| public static int feed(Cat cat, int portionEda) { | |
| cat.consumedEda = cat.consumedEda + portionEda; | |
| Plate.eda = Plate.eda - portionEda; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| public int feed(int portion) { | |
| consumedEdaNemo = consumedEdaNemo + portion; | |
| Plate.eda = Plate.eda - portion; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Кто-то поел " + portion + " и еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| public int feed(Cat cat) { | |
| cat.consumedEda = cat.consumedEda + portionEda; | |
| Plate.eda = Plate.eda - portionEda; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println(cat.name + " сьел стандартную порцию 100 и Еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| public static int setPortionEda(int amountEda) { | |
| int portionEda = amountEda; | |
| return portionEda; | |
| } | |
| public static int getPortionEda() { | |
| Plate.eda = Plate.eda - Plate.portionEda; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Еды осталось " + Plate.eda); | |
| } | |
| return portionEda; | |
| } | |
| public void setEda(int i) { | |
| Plate.eda = i; | |
| System.out.println("Еды в тарелке сначала " + i); | |
| } | |
| public int feed() { | |
| consumedEdaNemo = consumedEdaNemo + portionEda; | |
| Plate.eda = Plate.eda - portionEda; | |
| if (Plate.eda < 0) { | |
| Plate.eda = 0; | |
| System.out.println("Еда закончилась"); | |
| } else { | |
| System.out.println("Неизвестный сьел стандартную порцию 100 и еды осталось " + Plate.eda); | |
| } | |
| return Plate.eda; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment