From a4268efbe2aff8b26a1780a532231eb881b3bf7d Mon Sep 17 00:00:00 2001 From: Yura Date: Tue, 3 Sep 2019 22:48:33 +0300 Subject: [PATCH 1/3] Update README.md --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 0078a88..4f8fd65 100644 --- a/README.md +++ b/README.md @@ -1 +1,12 @@ # jv-homework-template +jv-zoo +Цель: прокачать навыки в ООП и работе с Generics + +Ваша задача заключается в том чтобы создать свой зоопарк, разместить животных по вольерам и накромить их. Создание инстансов животных и кормление можно проводить в классе App(или Main или любом другом). В данном темплейте есть класс HelloWorld и класс HelloWorldTest. Feel free to remove them) + +Создать зоопарк +В зоопарке должны быть вольер для птиц, для всех животных и аквариум +Создать классы тигр, пингвин, воробей и акула и добавить в соответствующие среды обитания (см. п.2) +Птицы должны уметь летать, рыбы должны уметь плавать. Обратите внимание на пингвина, там не все так просто: он может плавать, но не может летать, при єтом является птицей +Должна быть возможность накормить всех животных +Для решения задачи воспользоваться Дженериками From 7c99fbebb0200575690a2967cb71b34f5b637a1f Mon Sep 17 00:00:00 2001 From: Yura Date: Thu, 5 Sep 2019 00:22:28 +0300 Subject: [PATCH 2/3] My Zoo commit --- out/production/main/core/basesyntax/App.class | Bin 0 -> 3180 bytes .../main/core/basesyntax/Bird.class | Bin 0 -> 757 bytes .../main/core/basesyntax/Fish.class | Bin 0 -> 372 bytes .../main/core/basesyntax/Flyableable.class | Bin 0 -> 434 bytes .../main/core/basesyntax/Mammal.class | Bin 0 -> 410 bytes .../main/core/basesyntax/Pingvin.class | Bin 0 -> 721 bytes .../main/core/basesyntax/Shark.class | Bin 0 -> 683 bytes .../main/core/basesyntax/Sparrow.class | Bin 0 -> 845 bytes .../main/core/basesyntax/Swimable.class | Bin 0 -> 133 bytes .../main/core/basesyntax/Tiger.class | Bin 0 -> 662 bytes out/production/main/core/basesyntax/Zoo.class | Bin 0 -> 373 bytes src/main/java/core/basesyntax/App.java | 196 ++++++++++++++++++ src/main/java/core/basesyntax/HelloWorld.java | 8 - 13 files changed, 196 insertions(+), 8 deletions(-) create mode 100644 out/production/main/core/basesyntax/App.class create mode 100644 out/production/main/core/basesyntax/Bird.class create mode 100644 out/production/main/core/basesyntax/Fish.class create mode 100644 out/production/main/core/basesyntax/Flyableable.class create mode 100644 out/production/main/core/basesyntax/Mammal.class create mode 100644 out/production/main/core/basesyntax/Pingvin.class create mode 100644 out/production/main/core/basesyntax/Shark.class create mode 100644 out/production/main/core/basesyntax/Sparrow.class create mode 100644 out/production/main/core/basesyntax/Swimable.class create mode 100644 out/production/main/core/basesyntax/Tiger.class create mode 100644 out/production/main/core/basesyntax/Zoo.class create mode 100644 src/main/java/core/basesyntax/App.java delete mode 100644 src/main/java/core/basesyntax/HelloWorld.java diff --git a/out/production/main/core/basesyntax/App.class b/out/production/main/core/basesyntax/App.class new file mode 100644 index 0000000000000000000000000000000000000000..dc85bcb0edfa042a2c01590ee89ec4176a6e1cff GIT binary patch literal 3180 zcmb7GS!`TY5h>O#j)EG(6;K;%X zx^?ST_t~HR_kREz@n!&PkgBR~@Gns@mQrC;N6iql2EAa zw9|?1(NurJ*=O}9xf1Ej3|PtimSfAjxaiFf+c|~$&Vh`Ri1k~!L~cBtw~oiQWwUK0 zOIdbWp`rOu=TU3SiY2Y|P^>5K*y*7*ai&rVjTL))hAn4=yH!@ftg!Co<}o`h_WXRi z_t`@UN34via(7SGa-7UDv0L-SeK3;|TR(%Y@Vwo2j?n0}oFQ^Y=Q)#tW~~#kUc?3w z8z~04R!P@k=Y~nA^~;VFMN@^xE-RI?lHxOE@~CTpE`E>D&MfJ_C22WyyJ4ddBTMXZ^RqP-#j z$@3O6xBfP`o2%b}cdttD)jfG@V5G~+x&^CaCts0{$KCpWf-jaYl`oVpQ^%7!&hY)| z_?tqYCo}2{Bsy%Ve1pZjR_Zr|7%pO#<`%nKunPVzD`%z0t-f^ve2T?67g(%a^6$xv zS;^dp-6vU}3v)}Dd>oz8B>Co{Di$)M+c9h(wMPV04uCf`yWwiQct@9Sk9;lai zsLt$V^_JGDM%_m|yE;PnJDv{VA9#j|3*lKj7sB&+f#A8P;+5-oF@%@!&k!c?FCG65 z;blA(!YjBagjYqpCgODwZ%C#aTj&2MESSqKH$IP3UY$aCrukgme>5?`zEQDXDvV`4 zm$vW%`8MYoN^eYI(OlCxkBe<{CTF|y3CGH39Nu{I{Qb~l9pNEnSqlNTwH)M4*kyu- z=9Y6FPKlWHt`A$e?!j!U!h;25 zTs{r0H{zLsw{sf4-bmFH^sZ?by%GNu0^QRH_C`WesE&JGU=4wBpNp&|GG66E!-U55 z8Gzve>IC3-0TBTNT(YQ;1zo@b0fgMudReWWMnmru8sjx)&4rU_I$+kUDGaTJ!DQG? z2TG_~v)1&vhFa4&*AO5a0c&)wn*V!oEMLnk@ujT z!3s0-F0^>`Z7epU|G|<;EH$H(SSDim1V#nsE5dwb*oq=-rNGXgK)1k*BFrem{!oOi z64(V3xIkdRGju_x!7{A52x}48YDN-aI+jlSyvq#FK0u;;fHj2!{CZ@+)8!LVSYAkB z{eUf$0saM9Iw34UHCj;1;tFFc>aZITT#G0U(>j8BjPcjn2{hs)ns6E>+u}mJfJN+Z z=YeO!G#TESbK6Uc)wZ7TeWF z*r7hf73vG@R9~V)eS<62_qa*}c4lu^_p zjy7t8)Y@?wwNuo#Fc(qA{~RvIHbm&9h$DB&dKNv{jvdSwA0V#4PRXm*hz{;xC)TQQ zB{dC8G!L$#=3z#@!!BxGp7(2JdJlipZdIS7lPp!(tv*2)x}oD*^&z9(%-^_&)qB{> z`1}}AlemWQ1u&*w!5Sej zFb*-sWsIbNy1tCMp^Unbs6L_&A@DQ4MMTG89o9Mj{W=D89MO@`F{oom$FL4t$59<4 hrT?Vlxt*I zAV?tf1Nu=_XYELB6JBOC$f?gw05_^mjS>f)ew%3y!cUBNKdluCRa^x7gi z;q8DrrKaxi;FL$w)Z?ZdU&=niaGEJu)K8 z!%(O$!`@@QPd&x>hiEYu>-2RNE78m%m0kzZfN)eWpC1f6u{uo(O8tpPKt9> zeWco=T&Oqh!0L@#Sl^SOd5T43C|+U)k^ru-K-F?OjuOgL(V}@40;2;!Weoa>_85Iz t|AEW{?6W(})Nf#okS#eBM#znj|4ZX0kc#eCClp?~Jf>iHLQoc-{sAUos7e3; literal 0 HcmV?d00001 diff --git a/out/production/main/core/basesyntax/Fish.class b/out/production/main/core/basesyntax/Fish.class new file mode 100644 index 0000000000000000000000000000000000000000..82ae94d9222b81e05bba6aa4695cb7432fe5f808 GIT binary patch literal 372 zcmZvYy-veG5QJwP6DN*IAV01tLn7gZE(i%Bg~p-@Nul| zVzNIcxToe;5<0Qc@_d~qvbYdQ#+`0#QjyI?p)CJ2-D;^yLKvr}kWnH^Sw87XJVsMh zE+_1!MZVGg$>O{6LFI(n(8l^Rvo2CORW_<|vRWNjMSv~T0|eM6^#6+>^nSN5jdAz* z$u55Z;DD?LSC8q8+2OM_8oz=@;}0c<8#I~1?{Vf96ASGwAogyf L!%W!W>R|T^`h86S literal 0 HcmV?d00001 diff --git a/out/production/main/core/basesyntax/Flyableable.class b/out/production/main/core/basesyntax/Flyableable.class new file mode 100644 index 0000000000000000000000000000000000000000..2a0b02df12687e35bb93e8df682de20c7049e642 GIT binary patch literal 434 zcmaJ-yH3ME5S(*N{2-9v5MBX^GHGywM3D+1rLq9Y$o<(l!bP^vvK@pw_#`MODEI(A z3bBsUAR%?&FGwv0!M8#sPzVrDg=W zo=nB{G6_X~*E~C(ig+CGT-JD9)XN81Fr0Xi%7q*9LKIb6@+WuNxYpDOgYBzj9*L=} z`~inpLOkX$%~8aD*Yl@E>Oq);?~`)46*SE<{xRD*07W ziiCcqmh>?2R%EH%+gzrlU*>`*G+h6WGVLX+NpVWLQ6pS+A(c$$lX1`nbZpRK0Y;|{ rgQ7|30vct2^#?`XXe&|p!t=?0#O_Ch((X^7aQthU*rsA2mDS;A*y literal 0 HcmV?d00001 diff --git a/out/production/main/core/basesyntax/Mammal.class b/out/production/main/core/basesyntax/Mammal.class new file mode 100644 index 0000000000000000000000000000000000000000..9e5350856ab1f8a29aad5fc9b615d0bb950306ef GIT binary patch literal 410 zcmZutO;5r=5PbucLaCr2mBfojgoIwaVN8q(UaA)i2XEWD!8Prc^aJH*c`zm(`~m(b z<1BhY5A(9`?Yw!D`TTnS0C0-F0}I^-syMLGv*Fn|B-GB7R>e7?HwYfZO8BwR3x8H* zN-riSbAol5-b+F|P+H!UNhq^h5yq@^f;1BGTx81dU(qTaR8HszQJP6V6uHdTx)9I) zwMY^XPk5dd$;SOBjZn=>%{VZ*&MYmnNKTc>s$VRZV`FepgY9A$ErR!d2BEwCahIlq zqiuB>ug&JBtYbcl1;P%Ws=~!7%^O#m@Gh@uOWQP&>J1VLs!Fs{yNM7|5c_eM(y8omWRKJ4gW4|2 z0xAI#3qF94s(S5&K4_5T(cC-dG3U%#m1_GHLTm%u)r-m zwD5>w@}<(sykeMdv_Fcz@B*Qay^e{MKHhnL$WVF{9Z802TWPtMhQ5psgdb3+-j2E= zI25tU>QS>~KB$CYx!sLo>G>j&$v_+N+1n?*zS27+s7095|FdH#N?~YiWX5*#Nrgiz zrxT@dSH4x5uf5yry~wyO98_G)pl;!@i%mRXSj>Dk_QlI!ED*$^xcn zozB5uFoCZ``9?LcFodIu8dXHh#zwLMQ?W?WI+9*Z!-9!L7&O}#kXuz1 z)Pq(+kp*3cW*GUK-yuPUp&u(;c)p-3Lr=&kaz$d3NdS&Qkr7RWAE(D_j_jc=dW)+0Nlnc3pUOdP{djRHC!-p(Sn0Z z2G%X)v7yan6Ib;6s)1_;>J0h2(wEUahDyEjlJ9ZX^ZMa?G&W=?6-n&mj*UpF-()Ipw4!{T8md?Ih2G_1M#r3Dh$ zjDlpO^sn{CTwt4yNs$hZzOwXCV?iUQuSdwx4HTQL1F&Z6D>9#GnZY92QXKpm3wQ$y zZ?QzaGf6ngSf&*v>H!ffM?2LNdWT{d?G-*FTh7g}@E2*t>F;3TeT=h{z!b-D_7L)z p#5JTwknhMpJAl#rg3JtNxj<$H>jdxztl{GkaP1JhN~jFZ{Ra7Iw9Nnj literal 0 HcmV?d00001 diff --git a/out/production/main/core/basesyntax/Swimable.class b/out/production/main/core/basesyntax/Swimable.class new file mode 100644 index 0000000000000000000000000000000000000000..7f06de370308907ee2c8669312825dbc6d70a8fd GIT binary patch literal 133 zcmX^0Z`VEs1_l!bPId-%b_Nbc29DzL%-qDJoK!{zW)00SMh33n{L-T2RJTl!5Qk$y zfnHW(St28YL~?#ns(w;pacXg8UP)qwelT3407!*?PGVlVzJF3yYH|r10|O%i6VM_c S%>p!-fd#~3U&Pwbgppc%`;zHi8R95J5LpgqH57b*Q7sq@=0X$5QYLy3m~u zC7z_>wS)|FZr}OOnYZ`HX8;>mF`#2C1r6gVOkh&Sl!0l?=$O?or@>-KZc8PD9fr|- z>5N}++u^EVmjhp_#@1?;A+hJ32!^4ORN|=Z)`VZ-HHSQzl2_+WmHRTZKb?u-RJIt# zN_Ec{c8#}0tD^#bX;)-J_*;Zi+>MI=HDibi9?+Q&+s6I2Vlc{H+pmj#88*~+o6YsG z%tQ)?i8O{a%$r!iBI%17SdKgwmMcV{VadcY42ERw&*ec130kCY^&(@*VncPX!McAYZPVPO%}fs4(0L!4k+I`w88o97eI! qHR74XE&9HZMpXVpTAm}E*-iYyjr4{jdq7?Y^4bGJJEGn(th zbfN9Jz;OKc`*2S4rMaUyjCG-|Hmg*XGnwX1oXKQ9m!+=xkLcQaT`?@qOsS$&R;qd` ztbB}ajp4MGl9o8GgZ;#8%1ljl9oD&6uaE2X0(b}mY@sbM_$NeQ_xFnHbg44y9`IO~ z#|svXM2F>}L#4~tl)P5_$t%R<=mpMm)8i9+^a2U}GxpwKn{4#mjQ~4j^fjr1BYFtQ JxdYL`-WRaKN&f%< literal 0 HcmV?d00001 diff --git a/src/main/java/core/basesyntax/App.java b/src/main/java/core/basesyntax/App.java new file mode 100644 index 0000000..6a1c783 --- /dev/null +++ b/src/main/java/core/basesyntax/App.java @@ -0,0 +1,196 @@ +package core.basesyntax; + +import java.util.ArrayList; + +/** + * Feel free to remove this class and create your own. + */ +public class App { + public static void main(String[] args) { + Zoo a1 = new Shark("Masanya_1"); + Zoo a2 = new Pingvin("Kovalski_1"); + Zoo a3 = new Tiger("Tigrula_1"); + Zoo a4 = new Sparrow("Chijik_1"); + + Fish f1 = new Shark("Masanya_2"); + Bird b1 = new Pingvin("Kovalski_2"); + Mammal m1 = new Tiger("Tigera_2"); + Shark mas1 = new Shark("Masanya_2"); + Pingvin p1 = new Pingvin("Kovalski_3"); + Tiger l1 = new Tiger("Tigrula_3"); + Sparrow s1 = new Sparrow("Chijik_3"); + Swimable sw1 = new Pingvin("Kovalski_4"); + Flyableable s2 = new Sparrow("Chijik_4"); + ArrayList array1 = new ArrayList<>();//All animal + array1.add(a1); + array1.add(a2); + array1.add(a3); + array1.add(a4); + ArrayList array2 = new ArrayList<>();//Acvarium + array2.add(f1); + array2.add(mas1); + ArrayList array3 = new ArrayList<>();//Birdcage + array3.add(s1); + array3.add(b1); + array3.add(p1); + + // ancage.addAll(ancage); + //Zoo[] array1 = {a1, a2, a3,a4, f1, b1, m1, mas1, p1, l1}; + //Flyableable[] array2 = { s1,s2, b1, m1, p1, l1}; + + for (Zoo a : array1) { + if (a instanceof Shark) { + Shark m = (Shark) a; + System.out.println(m.name); + m.eat(); + m.swim(); + } else if (a instanceof Pingvin) { + Pingvin p = (Pingvin) a; + System.out.println(p.name); + p.eat(); + p.swimable(); + } else if (a instanceof Tiger) { + Tiger t = (Tiger) a; + System.out.println(t.name); + t.eat(); + t.run(); + }else if (a instanceof Sparrow){ + Sparrow s = (Sparrow)a; + System.out.println(s.name); + s.eat(); + s.flyable(); + } + System.out.println("-----------------------"); + } + for (Bird b : array3) { + if (b instanceof Pingvin) { + Pingvin p = (Pingvin) b; + System.out.println(p.name); + p.eat(); + p.swimable(); + } else if (b instanceof Sparrow) { + Sparrow s = (Sparrow) b; + System.out.println(s.name); + s.eat(); + s.flyable(); + } + System.out.println("-----------------------"); + } + } +} +abstract class Zoo { + String name; + Zoo(String name){ + this.name = name; + } + + abstract void eat(); + +} + +abstract class Fish extends Zoo { + //protected String name; + public Fish(String name){ + super (name); + this.name = name; + } + + abstract void swim(); +} + +abstract class Bird extends Zoo implements Flyableable { + //private String name; + public Bird(String name){ + super(name); + this.name = name; + } + //abstract void fly(); + @Override + public void flyable (){ + System.out.println(name + "fly"); + } +} + +abstract class Mammal extends Zoo implements Flyableable { + //String name; + Mammal (String name){ + super(name); + this.name =name; + } + abstract void run(); + +} +interface Swimable{ + void swimable(); +} +interface Flyableable{ + default void flyable(){ + System.out.println("Somebody flyable"); + } +} + +class Shark extends Fish { + //protected String name; + Shark(String name){ + super(name); + this.name = name; + } + + @Override + protected void eat() { + System.out.println("Shark is predator and eat fish"); + } + @Override + public void swim (){ + System.out.println("Shark is a great swimer"); + } +} +class Sparrow extends Bird{ + Sparrow(String name){ + super(name); + this.name = name; + } + @Override + protected void eat() { + System.out.println("Sparrow eat grain"); + } + @Override + public void flyable (){ + System.out.println(name + "Sparrow fly very well"); + } +} +class Pingvin extends Bird implements Swimable { + //private String name; + Pingvin(String name){ + super(name); + this.name = name; + } + + @Override + protected void eat() { + System.out.println("Pinguin lubit est ribu!"); + } + + @Override + public void swimable() { + System.out.println("Pinguin can swim but not fly"); + } +} + +class Tiger extends Mammal { + //private String name; + Tiger(String name){ + super(name); + this.name = name; + } + + @Override + protected void eat() { + System.out.println("Tiger like meet"); + } + + @Override + void run() { + System.out.println("Tiger - can run!"); + } +} \ No newline at end of file diff --git a/src/main/java/core/basesyntax/HelloWorld.java b/src/main/java/core/basesyntax/HelloWorld.java deleted file mode 100644 index 97db782..0000000 --- a/src/main/java/core/basesyntax/HelloWorld.java +++ /dev/null @@ -1,8 +0,0 @@ -package core.basesyntax; - -/** - * Feel free to remove this class and create your own. - */ -public class HelloWorld { - -} From a62fb95927067bd689ec0a8535e1624cf89e3ed9 Mon Sep 17 00:00:00 2001 From: Yura1977 Date: Mon, 16 Sep 2019 23:39:09 +0300 Subject: [PATCH 3/3] Update --- .gitignore.txt | 29 +++ .../main/core/basesyntax/Animal.class | Bin 0 -> 794 bytes out/production/main/core/basesyntax/App.class | Bin 3180 -> 0 bytes .../main/core/basesyntax/Bird.class | Bin 757 -> 787 bytes .../main/core/basesyntax/Cage.class | Bin 0 -> 3890 bytes .../main/core/basesyntax/Fish.class | Bin 372 -> 386 bytes .../main/core/basesyntax/Flyable.class | Bin 0 -> 132 bytes .../main/core/basesyntax/Flyableable.class | Bin 434 -> 0 bytes .../main/core/basesyntax/Mammal.class | Bin 410 -> 389 bytes .../main/core/basesyntax/Pingvin.class | Bin 721 -> 1016 bytes .../main/core/basesyntax/Shark.class | Bin 683 -> 694 bytes .../main/core/basesyntax/Sparrow.class | Bin 845 -> 876 bytes .../main/core/basesyntax/Swimable.class | Bin 133 -> 134 bytes .../main/core/basesyntax/Tiger.class | Bin 662 -> 673 bytes out/production/main/core/basesyntax/Zoo.class | Bin 373 -> 0 bytes src/main/java/core/basesyntax/App.java | 196 --------------- src/main/java/core/basesyntax/Cage.java | 230 ++++++++++++++++++ 17 files changed, 259 insertions(+), 196 deletions(-) create mode 100644 .gitignore.txt create mode 100644 out/production/main/core/basesyntax/Animal.class delete mode 100644 out/production/main/core/basesyntax/App.class create mode 100644 out/production/main/core/basesyntax/Cage.class create mode 100644 out/production/main/core/basesyntax/Flyable.class delete mode 100644 out/production/main/core/basesyntax/Flyableable.class delete mode 100644 out/production/main/core/basesyntax/Zoo.class delete mode 100644 src/main/java/core/basesyntax/App.java create mode 100644 src/main/java/core/basesyntax/Cage.java diff --git a/.gitignore.txt b/.gitignore.txt new file mode 100644 index 0000000..193ab13 --- /dev/null +++ b/.gitignore.txt @@ -0,0 +1,29 @@ +out/ + +### Maven ### +log/ +target/ +!.mvn/wrapper/maven-wrapper.jar + +### STS / Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea/ +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/build/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ \ No newline at end of file diff --git a/out/production/main/core/basesyntax/Animal.class b/out/production/main/core/basesyntax/Animal.class new file mode 100644 index 0000000000000000000000000000000000000000..1ac587e806e655694c622f39f830e989b4e767a9 GIT binary patch literal 794 zcmZuvO>fgc5Pjpgak7}S4Q&!W3I_U-1{Ghp6;&#gdWy=Ss1hf%aaQhDj$PRff`8RY zkV+u&1Nc#hSv!O(&1H6W_RX93cK7$6AHM*+!A>1@JP{DsaPU;1f{hxUnbi|~^4w%E z9K3X}Nw8x%QiNvzLVlKhB;(LO%~KtR`vfOc`AKoS*4%s?B~{wDWVF5jy=KNtHj4naaM#x%}cE#(E?pGcfx%aJ_qX-tHNp`c}s} zKOj_;%sF;Vv6d&LW`a0P#%Z9AwNX(&lA(HSjJdc6*F_5*LVMonyRnXjDkZFzLOgRN zp3b~I&&3wDUED{*#X~d*t;O02EB{&F4=z-|;;QoUQpH2U-Xb%1{7q%-+a5oX;Fly= zMmA?loU;aw%e?b>B~$Hv16^@qVTEJ0D1O2!=WYo=6AyStSi?F;(|o{a%b%!4Y@D+leT!4fI7P{618sB| rP3DfLIuDuIOl$u{<>L+P=F)^UPvGz}L2cgl=$7sF%=RNDu<-aVdiIWf literal 0 HcmV?d00001 diff --git a/out/production/main/core/basesyntax/App.class b/out/production/main/core/basesyntax/App.class deleted file mode 100644 index dc85bcb0edfa042a2c01590ee89ec4176a6e1cff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3180 zcmb7GS!`TY5h>O#j)EG(6;K;%X zx^?ST_t~HR_kREz@n!&PkgBR~@Gns@mQrC;N6iql2EAa zw9|?1(NurJ*=O}9xf1Ej3|PtimSfAjxaiFf+c|~$&Vh`Ri1k~!L~cBtw~oiQWwUK0 zOIdbWp`rOu=TU3SiY2Y|P^>5K*y*7*ai&rVjTL))hAn4=yH!@ftg!Co<}o`h_WXRi z_t`@UN34via(7SGa-7UDv0L-SeK3;|TR(%Y@Vwo2j?n0}oFQ^Y=Q)#tW~~#kUc?3w z8z~04R!P@k=Y~nA^~;VFMN@^xE-RI?lHxOE@~CTpE`E>D&MfJ_C22WyyJ4ddBTMXZ^RqP-#j z$@3O6xBfP`o2%b}cdttD)jfG@V5G~+x&^CaCts0{$KCpWf-jaYl`oVpQ^%7!&hY)| z_?tqYCo}2{Bsy%Ve1pZjR_Zr|7%pO#<`%nKunPVzD`%z0t-f^ve2T?67g(%a^6$xv zS;^dp-6vU}3v)}Dd>oz8B>Co{Di$)M+c9h(wMPV04uCf`yWwiQct@9Sk9;lai zsLt$V^_JGDM%_m|yE;PnJDv{VA9#j|3*lKj7sB&+f#A8P;+5-oF@%@!&k!c?FCG65 z;blA(!YjBagjYqpCgODwZ%C#aTj&2MESSqKH$IP3UY$aCrukgme>5?`zEQDXDvV`4 zm$vW%`8MYoN^eYI(OlCxkBe<{CTF|y3CGH39Nu{I{Qb~l9pNEnSqlNTwH)M4*kyu- z=9Y6FPKlWHt`A$e?!j!U!h;25 zTs{r0H{zLsw{sf4-bmFH^sZ?by%GNu0^QRH_C`WesE&JGU=4wBpNp&|GG66E!-U55 z8Gzve>IC3-0TBTNT(YQ;1zo@b0fgMudReWWMnmru8sjx)&4rU_I$+kUDGaTJ!DQG? z2TG_~v)1&vhFa4&*AO5a0c&)wn*V!oEMLnk@ujT z!3s0-F0^>`Z7epU|G|<;EH$H(SSDim1V#nsE5dwb*oq=-rNGXgK)1k*BFrem{!oOi z64(V3xIkdRGju_x!7{A52x}48YDN-aI+jlSyvq#FK0u;;fHj2!{CZ@+)8!LVSYAkB z{eUf$0saM9Iw34UHCj;1;tFFc>aZITT#G0U(>j8BjPcjn2{hs)ns6E>+u}mJfJN+Z z=YeO!G#TESbK6Uc)wZ7TeWF z*r7hf73vG@R9~V)eS<62_qa*}c4lu^_p zjy7t8)Y@?wwNuo#Fc(qA{~RvIHbm&9h$DB&dKNv{jvdSwA0V#4PRXm*hz{;xC)TQQ zB{dC8G!L$#=3z#@!!BxGp7(2JdJlipZdIS7lPp!(tv*2)x}oD*^&z9(%-^_&)qB{> z`1}}AlemWQ1u&*w!5Sej zFb*-sWsIbNy1tCMp^Unbs6L_&A@DQ4MMTG89o9Mj{W=D89MO@`F{oom$FL4t$59<4 hrT?Vlxt*IZPZHy6OX zYZqiJVu@p!qrg#o+Ih|d_k^LBFU7S`5Jp6SiU>zZ!3tJw#xmV7(hADZ6s%#L!E<4D z6l_4_*i>kCgduTu)zr0`Xz8tv)fP9}ZoPTVkQ|jOR=puihSX@_!0d>csWb4F-aZx$ z@}llWnkg*%kri^>80v{a@n{$_w3BwTZW;C)tJ*Os-wn|j7{=%(5?T5UVU$>vxI{Lj zmU>`n$$|9JPl^$S;UT<*4_(N(L!4OhFCF7Z5Tim&kjChxkRCKWq&h~i>?=GU@SgUt m?^7N49q@R7z(LS~{69zT_q<025B(YLs#HCg!7xco!qhLLDo>sO delta 457 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 a69Wg3Hz>>TOzCg delta 126 zcmZo-{=y`1>ff$?3=9k=3}RdiEDS=N69qOpa5xqe=w&6ACGs$^GO+P5@G$T)GKeJS z7p3YaB^IX^SLT%@R_MEB7H2Rr2%`%}<>yc4XVjG0%D}V{XfP842ax1rUp!-fd#~3U?&FGwv0!M8#sPzVrDg=W zo=nB{G6_X~*E~C(ig+CGT-JD9)XN81Fr0Xi%7q*9LKIb6@+WuNxYpDOgYBzj9*L=} z`~inpLOkX$%~8aD*Yl@E>Oq);?~`)46*SE<{xRD*07W ziiCcqmh>?2R%EH%+gzrlU*>`*G+h6WGVLX+NpVWLQ6pS+A(c$$lX1`nbZpRK0Y;|{ rgQ7|30vct2^#?`XXe&|p!t=?0#O_Ch((X^7aQthU*rsA2mDS;A*y diff --git a/out/production/main/core/basesyntax/Mammal.class b/out/production/main/core/basesyntax/Mammal.class index 9e5350856ab1f8a29aad5fc9b615d0bb950306ef..a4cf3820a4ba48f7dff8210cec7acfd1d6f67480 100644 GIT binary patch delta 231 zcmbQm+{!F<>ff$?3=9k=4B}i2EDS0*A0)!9rM;bjQA>Lp1JgzZ1{a_h2T+s`sEdK22dKW6fs3J! mffL9RgQy4cxq&>OP6i$ZUIs>>;d~7IKt3ab0FY#25Cj0dHYEH2 delta 252 zcmZo=p2aMC>ff$?3=9k=3=&)nEDXY&49pB7>8q zuraXnFz_<)F*1lH=NF~wCnXlA7FXt#Bv$DACg$cQ<}fk{qf12P=QA=$ql>!bR3;|n zq=GPu0? diff --git a/out/production/main/core/basesyntax/Pingvin.class b/out/production/main/core/basesyntax/Pingvin.class index 0e4a6b31714c496ff5cc26970a861f56aa9cea57..dcac24b8b22948f39aafe016f579166be97a799a 100644 GIT binary patch literal 1016 zcmZ{iOK;Oa5Xb+UrnTdk(55YYkb=vrNlF_Yg#tkwS_uwBRi&az95?9_7CGz6UKjGQ z;E+lnaR3g01PAy&h*>9nkOW&^&(6;LW_D)2|9Srrz#6I!a=7T=47>~$ammJI2Ul>_ z#x)B|4lESSVaZ5k8_VW@-NK56RSOk{v4>Jg{fJ?@SbN0}c*Wmm$3w z>z6WOn5#8{P*mzX5>Z=e{-&}`yaTDK z1XR40xDSM57!h34S~P*}=(TKhLs>8Uc2{zCf;eo5$I@hw+2l>JYA`OwG2!9{CM?`^ zaSOK@W=zOfD$kGWQhOrOUMTDFqJ=dVcQC(4XK&Ed4zZ znqc!T?qc1=J={<7P)muEiw9UI&;Q(>VXFURLxy_{v;FFwle!3SA@M!pQp!uO`P18qxqFtV(CrHr?WXsEkVCCfwQg3OS!X&LZjL`ZCqxcL5 zUob_xb6s;xlVqMOW-v>zH0ChhgRYYeqqEFAjO5cDjGiE!#QiI5d`oa{*RY3UI6oXR zHU#p6AU}sf3dfMAbOV#g0%h_6*7HNy=p=>!iB#< CJJ)pp delta 348 zcmZvWy-EW?6otRp%{sfY<6qQ7W7H)6g)G__uol6T7It<)QYeB!(AH-N`vfUs3N4Ia z1PdR)&Udk}5^r_`HZsg`5A&UK&$s^cc0PXI-hnz*gU@1sW+|Y+vQN>l!m7`jrlcur zDxF5ZYEG_huFqOW=a(&of6#94UNmo;7DH&6C97GtY_J)ZRdHg=vP~Ets!FGukB6!r zf2rd;O0vaA5y)m&u6RXRnHo59Ago2Ns9N-bGZ5)8DeqJQ_wcwEOJ6kPQk-dKM2T_K zLBcZ3F+UF77e>in@Qj$-f!BSeF7VST?zzNpx~NlQ!!rAa6C0Cj$Tq>mBp} delta 121 zcmdnSx|&ts)W2Q(7#J8#7}U5JI2gn^CkmX9=5Q=1(923JOXOkTWZ>dq5MU5wXHeu} zP-0M?_(hpTg@-|PvNWUb=8-ePt@TL=CedWQ8c33u5LxOMmuh{qEGwH-S1&+e8zm1S@Ef}ntV~E%o;06r0TBo zCv5NNUtw~r8m<%d!Gcvx?$y>$DiSm=UxJKmiGyNLs%^7{`BSs+~(m6|GXr)Lo0Z?O0%A!A7hsyQqdV)l8&KSDry8K|;bCh+8Ej z9zepAcn0xJD>x_TJD2Z&JD;KV(8}A_^DD5#f`v`LNtgkX6oUps77l5hVT%wWei=0w z^Y?L`37yH4wflZ!tx}mi$XD|=?L=&1#C4`@GGx7|>M^HnW{4;f-l~?E@IeWiS#pZ_ zP9^WUhc#!fRClTcx9-#mrIO7Y^PZ~~y&JXdrM2~AMQn0v%eTmt^5tS~=g8eJ7ndbl zSQ7gqAWO_qbjWD~O(ujh*(X#c`-pZcSB6Evg7Mw1+3 W|8lj2uNdI^pK$6|xK9#`ck&xt1UOIt diff --git a/out/production/main/core/basesyntax/Swimable.class b/out/production/main/core/basesyntax/Swimable.class index 7f06de370308907ee2c8669312825dbc6d70a8fd..c92be3e329cf19dc85e1a115b88f07960d32406f 100644 GIT binary patch delta 15 WcmZo=Y-5~Yz{=^In4UV(BoF{0WdvdX delta 14 VcmZo;Y-OBaz{25JP%zOn5C9!Q1QGxM diff --git a/out/production/main/core/basesyntax/Tiger.class b/out/production/main/core/basesyntax/Tiger.class index a83713026b1bf70714c63543e5a3413b35db36fe..88e46489a9b3b245980f14731eda383973e46ecc 100644 GIT binary patch delta 147 zcmbQnx{y`i)W2Q(7#J8#7}U8KI2gpaCJG!k;dD++Pu0sxEKB5J;AG(9VNhh?VrNj| zVNhmJVPxPB$xKfzQpm~7PF2WFO)X((P~~Azo6N=N!NFdfTH=?On>smwu}Wqe1Jg#J v$xIA9K$4Gv8A#q_U}d<)z{PNT@-s#+*84yUA51o7a$tP|WIdf+#Uuj&oX8=} delta 161 zcmZ3;I*nD})W2Q(7#J8#7}U5JI2gn^Ckh-l=5Q=1(923JOXOkTWZ>dq5MU5wXHeu} zP-0MKWZ)0UOiwLR$jQu3Rme?EEn#O+;bBmn%+2UAIhL_PW-9~JMxc323_L)RkAWFT zZf9U+*ulWXuygW9MlaUAKx_6*c3^T)JOpGNX5a;?;9+0{lAJ*G{6LzKK@>th zbfN9Jz;OKc`*2S4rMaUyjCG-|Hmg*XGnwX1oXKQ9m!+=xkLcQaT`?@qOsS$&R;qd` ztbB}ajp4MGl9o8GgZ;#8%1ljl9oD&6uaE2X0(b}mY@sbM_$NeQ_xFnHbg44y9`IO~ z#|svXM2F>}L#4~tl)P5_$t%R<=mpMm)8i9+^a2U}GxpwKn{4#mjQ~4j^fjr1BYFtQ JxdYL`-WRaKN&f%< diff --git a/src/main/java/core/basesyntax/App.java b/src/main/java/core/basesyntax/App.java deleted file mode 100644 index 6a1c783..0000000 --- a/src/main/java/core/basesyntax/App.java +++ /dev/null @@ -1,196 +0,0 @@ -package core.basesyntax; - -import java.util.ArrayList; - -/** - * Feel free to remove this class and create your own. - */ -public class App { - public static void main(String[] args) { - Zoo a1 = new Shark("Masanya_1"); - Zoo a2 = new Pingvin("Kovalski_1"); - Zoo a3 = new Tiger("Tigrula_1"); - Zoo a4 = new Sparrow("Chijik_1"); - - Fish f1 = new Shark("Masanya_2"); - Bird b1 = new Pingvin("Kovalski_2"); - Mammal m1 = new Tiger("Tigera_2"); - Shark mas1 = new Shark("Masanya_2"); - Pingvin p1 = new Pingvin("Kovalski_3"); - Tiger l1 = new Tiger("Tigrula_3"); - Sparrow s1 = new Sparrow("Chijik_3"); - Swimable sw1 = new Pingvin("Kovalski_4"); - Flyableable s2 = new Sparrow("Chijik_4"); - ArrayList array1 = new ArrayList<>();//All animal - array1.add(a1); - array1.add(a2); - array1.add(a3); - array1.add(a4); - ArrayList array2 = new ArrayList<>();//Acvarium - array2.add(f1); - array2.add(mas1); - ArrayList array3 = new ArrayList<>();//Birdcage - array3.add(s1); - array3.add(b1); - array3.add(p1); - - // ancage.addAll(ancage); - //Zoo[] array1 = {a1, a2, a3,a4, f1, b1, m1, mas1, p1, l1}; - //Flyableable[] array2 = { s1,s2, b1, m1, p1, l1}; - - for (Zoo a : array1) { - if (a instanceof Shark) { - Shark m = (Shark) a; - System.out.println(m.name); - m.eat(); - m.swim(); - } else if (a instanceof Pingvin) { - Pingvin p = (Pingvin) a; - System.out.println(p.name); - p.eat(); - p.swimable(); - } else if (a instanceof Tiger) { - Tiger t = (Tiger) a; - System.out.println(t.name); - t.eat(); - t.run(); - }else if (a instanceof Sparrow){ - Sparrow s = (Sparrow)a; - System.out.println(s.name); - s.eat(); - s.flyable(); - } - System.out.println("-----------------------"); - } - for (Bird b : array3) { - if (b instanceof Pingvin) { - Pingvin p = (Pingvin) b; - System.out.println(p.name); - p.eat(); - p.swimable(); - } else if (b instanceof Sparrow) { - Sparrow s = (Sparrow) b; - System.out.println(s.name); - s.eat(); - s.flyable(); - } - System.out.println("-----------------------"); - } - } -} -abstract class Zoo { - String name; - Zoo(String name){ - this.name = name; - } - - abstract void eat(); - -} - -abstract class Fish extends Zoo { - //protected String name; - public Fish(String name){ - super (name); - this.name = name; - } - - abstract void swim(); -} - -abstract class Bird extends Zoo implements Flyableable { - //private String name; - public Bird(String name){ - super(name); - this.name = name; - } - //abstract void fly(); - @Override - public void flyable (){ - System.out.println(name + "fly"); - } -} - -abstract class Mammal extends Zoo implements Flyableable { - //String name; - Mammal (String name){ - super(name); - this.name =name; - } - abstract void run(); - -} -interface Swimable{ - void swimable(); -} -interface Flyableable{ - default void flyable(){ - System.out.println("Somebody flyable"); - } -} - -class Shark extends Fish { - //protected String name; - Shark(String name){ - super(name); - this.name = name; - } - - @Override - protected void eat() { - System.out.println("Shark is predator and eat fish"); - } - @Override - public void swim (){ - System.out.println("Shark is a great swimer"); - } -} -class Sparrow extends Bird{ - Sparrow(String name){ - super(name); - this.name = name; - } - @Override - protected void eat() { - System.out.println("Sparrow eat grain"); - } - @Override - public void flyable (){ - System.out.println(name + "Sparrow fly very well"); - } -} -class Pingvin extends Bird implements Swimable { - //private String name; - Pingvin(String name){ - super(name); - this.name = name; - } - - @Override - protected void eat() { - System.out.println("Pinguin lubit est ribu!"); - } - - @Override - public void swimable() { - System.out.println("Pinguin can swim but not fly"); - } -} - -class Tiger extends Mammal { - //private String name; - Tiger(String name){ - super(name); - this.name = name; - } - - @Override - protected void eat() { - System.out.println("Tiger like meet"); - } - - @Override - void run() { - System.out.println("Tiger - can run!"); - } -} \ No newline at end of file diff --git a/src/main/java/core/basesyntax/Cage.java b/src/main/java/core/basesyntax/Cage.java new file mode 100644 index 0000000..bafd6c0 --- /dev/null +++ b/src/main/java/core/basesyntax/Cage.java @@ -0,0 +1,230 @@ +package core.basesyntax; + +import java.util.Arrays; +import java.util.List; + +/** + * Feel free to remove this class and create your own. + */ +public class Cage { + public static void printAll(List list) { + for (Object item : list) + System.out.println(item + " "); + } + + + + public static void main(String[] args) { + Animal animal1 = new Shark("Masanya_1"); + Animal animal2 = new Pingvin("Kovalski_1"); + Animal animal3 = new Tiger("Tigrula_1"); + Animal animal4 = new Sparrow("Chijik_1"); + Mammal mammal1 = new Tiger("Tigera_2"); + Tiger tiger1 = new Tiger("Tigrula_3"); + Swimable swimable1 = new Pingvin("Kovalski_4"); + Flyable flyableable1 = new Sparrow("Chijik_4"); + + List animalList = Arrays.asList(animal1, animal2, animal3, animal4,mammal1,tiger1,swimable1,flyableable1); + System.out.println("Cage for all animals " ); + printAll(animalList); + System.out.println("-----------------------"); + + Bird bird1 = new Pingvin("Kovalski_2"); + Pingvin pingvin1 = new Pingvin("Kovalski_3"); + Sparrow sparrow1 = new Sparrow("Chijik_3"); + ListbirdList = Arrays.asList(bird1,pingvin1,sparrow1); + System.out.println("Cage for all birds"); + printAll(birdList); + System.out.println("-----------------------"); + + + Fish fish1 = new Shark("Masanya_1"); + Shark shark2 = new Shark("Masanya_2"); + Listakvarium = Arrays.asList(fish1,shark2); + System.out.println("Acvarium for all fishes"); + printAll(akvarium); + System.out.println("-----------------------"); + + + + for (Object o : animalList) { + if (o instanceof Fish) { + System.out.println(((Animal)o).getName()); + ((Animal)o).eat(); + ((Fish) o).swim(); + } else if (o instanceof Pingvin) { + Pingvin p = (Pingvin) o; + System.out.println(p.getName()); + p.eat(); + p.swimable(); + } else if (o instanceof Tiger) { + Tiger t = (Tiger) o; + System.out.println(t.getName()); + t.eat(); + t.run(); + } else if (o instanceof Sparrow) { + Sparrow s = (Sparrow) o; + System.out.println(s.getName()); + s.eat(); + s.flyable(); + } + System.out.println("-----------------------"); + } + for (Bird b : birdList) { + if (b instanceof Pingvin) { + Pingvin p = (Pingvin) b; + System.out.println(p.getName()); + p.eat(); + p.swimable(); + } else if (b instanceof Sparrow) { + Sparrow s = (Sparrow) b; + System.out.println(s.getName()); + s.eat(); + s.flyable(); + } + System.out.println("-----------------------"); + } + } +} + +abstract class Animal { + + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + + Animal(String name) { + this.name = name; + } + + abstract void eat(); + public String toString(){ + return "Animal name is - " + getName(); + } +} + +abstract class Fish extends Animal { + //protected String name; + public Fish(String name) { + super(name); + this.setName(name); + } + + abstract void swim(); +} + +abstract class Bird extends Animal implements Flyable { + //private String name; + public Bird(String name) { + super(name); + this.setName(name); + } + + //abstract void fly(); + @Override + public void flyable() { + System.out.println(getName() + "fly"); + } +} + +abstract class Mammal extends Animal { + //String name; + Mammal(String name) { + super(name); + this.setName(name); + } + + abstract void run(); + +} + +interface Swimable { + void swimable(); +} + +interface Flyable { + void flyable(); +} + +class Shark extends Fish { + //protected String name; + Shark(String name) { + super(name); + this.setName(name); + } + + @Override + protected void eat() { + System.out.println("Shark is predator and eat fish"); + } + + @Override + public void swim() { + System.out.println("Shark is a great swimer"); + } +} + +class Sparrow extends Bird { + Sparrow(String name) { + super(name); + this.setName(name); + } + + @Override + protected void eat() { + System.out.println("Sparrow eat grain"); + } + + @Override + public void flyable() { + System.out.println(getName() + "Sparrow fly very well"); + } +} + +class Pingvin extends Bird implements Swimable { + //private String name; + Pingvin(String name) { + super(name); + this.setName(name); + } + + @Override + protected void eat() { + System.out.println("Pinguin lubit est ribu!"); + } + + @Override + public void swimable() { + System.out.println("Pinguin can swim but not fly"); + } + + @Override + public void flyable() { + System.out.println(getName() + "Can't fly"); + } +} + +class Tiger extends Mammal { + //private String name; + Tiger(String name) { + super(name); + this.setName(name); + } + + @Override + protected void eat() { + System.out.println("Tiger like meet"); + } + + @Override + void run() { + System.out.println("Tiger - can run!"); + } +}