From c556d9d901b4803de2ede45b4b69c13939487df2 Mon Sep 17 00:00:00 2001 From: Kilokem Date: Fri, 27 Sep 2024 10:23:15 +0200 Subject: [PATCH 1/2] Upl --- .../src/main/java/com/oop/ElVehicle.java | 7 +++ .../src/main/java/com/oop/HybridVehicle.java | 7 +++ MoreOnClasses/src/main/java/com/oop/Main.java | 40 ++++++++++++++++++ .../src/main/java/com/oop/Program.java | 20 +++++++++ .../src/main/java/com/oop/Vehicle.java | 8 +++- .../target/classes/com/oop/ElVehicle.class | Bin 0 -> 501 bytes .../classes/com/oop/HybridVehicle.class | Bin 0 -> 529 bytes .../target/classes/com/oop/Main.class | Bin 1008 -> 1778 bytes .../target/classes/com/oop/Program.class | Bin 0 -> 501 bytes .../target/classes/com/oop/Vehicle.class | Bin 939 -> 1128 bytes 10 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 MoreOnClasses/src/main/java/com/oop/ElVehicle.java create mode 100644 MoreOnClasses/src/main/java/com/oop/HybridVehicle.java create mode 100644 MoreOnClasses/src/main/java/com/oop/Program.java create mode 100644 MoreOnClasses/target/classes/com/oop/ElVehicle.class create mode 100644 MoreOnClasses/target/classes/com/oop/HybridVehicle.class create mode 100644 MoreOnClasses/target/classes/com/oop/Program.class diff --git a/MoreOnClasses/src/main/java/com/oop/ElVehicle.java b/MoreOnClasses/src/main/java/com/oop/ElVehicle.java new file mode 100644 index 0000000..fa040f3 --- /dev/null +++ b/MoreOnClasses/src/main/java/com/oop/ElVehicle.java @@ -0,0 +1,7 @@ +package com.oop; + +public class ElVehicle extends Vehicle { + public void resource(){ + System.out.println("I use electricity"); + } +} diff --git a/MoreOnClasses/src/main/java/com/oop/HybridVehicle.java b/MoreOnClasses/src/main/java/com/oop/HybridVehicle.java new file mode 100644 index 0000000..e3c0b8a --- /dev/null +++ b/MoreOnClasses/src/main/java/com/oop/HybridVehicle.java @@ -0,0 +1,7 @@ +package com.oop; + +public class HybridVehicle extends Vehicle { + public void resource(){ + System.out.println("I use both petrol and electricity"); + } +} diff --git a/MoreOnClasses/src/main/java/com/oop/Main.java b/MoreOnClasses/src/main/java/com/oop/Main.java index 390240b..5b974fc 100644 --- a/MoreOnClasses/src/main/java/com/oop/Main.java +++ b/MoreOnClasses/src/main/java/com/oop/Main.java @@ -21,5 +21,45 @@ public class Main { pro1.write(); pro1.useEffects(); pro1.changeResolution(); + + + //Polymorphism + // Vehicles can be classified according to what energy source powers them. The program you are given has 3 vehicle classes: Vehicle, ElectricVehicle and HybridVehicle. + + // ElectricVehicle and HybridVehicle classes are inherited from Vehicle class. + + // Complete the program by reimplementing method resource() in inherited classes, so that the given calls work correctly. + + Vehicle vehicle = new Vehicle(); + Vehicle electric = new ElVehicle(); + Vehicle hybrid = new HybridVehicle(); + + //calls + vehicle.start(); + vehicle.resource(); + electric.start(); + electric.resource(); + hybrid.start(); + hybrid.resource(); + + //overriding funcions! For more visit Program.js + System.out.println(Program.max(8, 17)); + System.out.println(Program.max(3.14, 7.68)); + + //Overloading or overriding + a = 5; + double b = 10.2; + + System.out.println(doubleTheValue(a)); + System.out.println(doubleTheValue(b)); } + + //complete the method for integer value type + public static int doubleTheValue(int a) { + return a*2; + } + //overload the method for double value type + public static double doubleTheValue(double a) { + return a*2; + } } \ No newline at end of file diff --git a/MoreOnClasses/src/main/java/com/oop/Program.java b/MoreOnClasses/src/main/java/com/oop/Program.java new file mode 100644 index 0000000..33e134d --- /dev/null +++ b/MoreOnClasses/src/main/java/com/oop/Program.java @@ -0,0 +1,20 @@ +package com.oop; + +public class Program { + static double max(double a, double b) { + if(a > b) { + return a; + } + else { + return b; + } + } + static int max(int a, int b) { + if(a > b) { + return a; + } + else { + return b; + } + } +} diff --git a/MoreOnClasses/src/main/java/com/oop/Vehicle.java b/MoreOnClasses/src/main/java/com/oop/Vehicle.java index 5aa01d2..b09fd7e 100644 --- a/MoreOnClasses/src/main/java/com/oop/Vehicle.java +++ b/MoreOnClasses/src/main/java/com/oop/Vehicle.java @@ -27,5 +27,11 @@ public class Vehicle { public void setColor(String c) { this.color = c; } - + public void start(){ + System.out.println("Starting"); + } + + public void resource(){ + System.out.println("I use petrol"); + } } diff --git a/MoreOnClasses/target/classes/com/oop/ElVehicle.class b/MoreOnClasses/target/classes/com/oop/ElVehicle.class new file mode 100644 index 0000000000000000000000000000000000000000..f355d85c4a6947931a03c00439e58f66de328a7d GIT binary patch literal 501 zcmZvYxlY4C5QhKF=qfdJZ{?6rL?F3=3PXLFUL+Z6mm(7SnxWh~ z9WqpI)HAnHhUK7&8dZ2A;ty#!;_;I|lANLCslb;*KNeZMNLKVjBn)kD*`Vm#XE0-) zs5B0^g$7y%nhcE>|J8S;AC29?EYUo4(8eZBp;FDz@p4%x_c0cc9_X0+Vc*0SEq32c z6W-;L2Rask&@&r5*fX$8-T$d_u#W=w+H!%cOu(yqZt1@ zW8wrf8l4v?(Tfg4)}Y8G&&XHLK4HG)vQ0LVK?Q4Mo%sjy>l6{XD89&Hfc1`gtMh^F V6~HEms4(gC3St$ILsCmP`U7HJWt;#2 literal 0 HcmV?d00001 diff --git a/MoreOnClasses/target/classes/com/oop/HybridVehicle.class b/MoreOnClasses/target/classes/com/oop/HybridVehicle.class new file mode 100644 index 0000000000000000000000000000000000000000..0657db07fc18dbb8b7638b108d61258ea53a40ae GIT binary patch literal 529 zcmZvYOHaZ;5Xb+^tF)pZi1@bL(1SgCK)sk4O&Vi@;l7j&tZBPsSxop?deFp!AHWY~ zoR(Keyv*#(f9E%kpWm-<0M|IRkYT6?D)N*XdH2(vmi?|6${-XLat!5#G*2=Vu4F9D z4MVnd)@8`us=jcLgf#|#aB(O|82 zo1v)1SWR>wY*bLSu+30;;ji2ac|7ns)3Fgz2{r7{Bx+)43qO^m@}9JeO~+`#qjnLy z49y33G8S%6nV~xpMyt@}ao-i82#l72G*btAIIytKQ2U2c!Xb_rtWg3EW9rqKHJi;s zjCjyauHkgjk?&->_u5Jq2^US!xO93TLoYfQS&Jf%JR_e!|3vXEl^wE)3@X?lTbg|! mzey3p*0T6Ag#q?E%GLS@8Y_T95>Zj4&nt+%gdCHa!O0)eYjB|e literal 0 HcmV?d00001 diff --git a/MoreOnClasses/target/classes/com/oop/Main.class b/MoreOnClasses/target/classes/com/oop/Main.class index 41d020a070800c4ca60de7d0d2d15119da39cfcf..60141f0dc1559b50a0972f07106ceb0bd5de1573 100644 GIT binary patch delta 934 zcmZuu-%ry}6#niu`irU%h5htLX2&C?&bH?TYX^&Ste2s28@sZQamm3O9Sebsus?O^aw;ahwx%hERtVNehX#N&iv6V5peH6vN&LyOgnvk(`m% zt&+jF`rR;?d`G^@)o9V3sUmfEFO@Gh243}wbJelaxKrCR-I^v{j$~Ly)^*G*gOKwl z&A>ABX+nZ7l0W6Qfi@N@{|F=%wu~CoQf;Fg4i0#0h~4>y^D$u!aY}k(;u;c^T#QN0 z!YVHD(BCZbj6#32#4`&0pOLJS>gp>PSj8~?gmF8JyA|AD#h4TiBXdrsYD)zZRlG^A zAV=5=SqGp{bkKsb9qjTBA&tWr!x7}rjslJm)Pcu{U=hc$gcEp)PLvVFJ9ObaPT?a? z;|tDU9cTTsO!|Twn1)5dwfIUZGc@@+EW^eu88+bq9+7U49NwS^7a`JnjS}WO8b}%@ z8O}qXHpa0)nMloy;t6FE+3m+uYDT7)ZjyvWvgssQMr-ImP3{w|)l&(6t=n%)t>S(Q j@VWUd?n$x_5JzYaBl>K5`5$`EF1kSUMZy_8f7kQBH=n;R delta 146 zcmeyw`+=S7)W2Q(7#J9A89X*}{bQV5!8~npAd3kX0QPo$jBf7l(A#52kMak>TqCi f1e&JCpuyk-RKdca&mhm>!r;ol3RLL^HrX8j@~#&6 diff --git a/MoreOnClasses/target/classes/com/oop/Program.class b/MoreOnClasses/target/classes/com/oop/Program.class new file mode 100644 index 0000000000000000000000000000000000000000..8b7f12d9bbd38082b2fc15446f91f351a3509b38 GIT binary patch literal 501 zcmZ9H%TB^j5QhI#+CnRL1r4m+kmABVfR~NLgapL|!~V23SOiLHF}{gAS1w72D-#z! zfDdK-PwB##lQZ}EX6F0n^9#Tk4)V|hDtQp{ScP1ATcj!$6 zKM^ob!$p{!3*?;cSU|ss?gAS*SVb5x$r*%;;CeOpg7{W?vp}FehI6qly}}vg))n?9%31g%rM*!LON6!x`B(n=lnI*7GwkG6(<-GiP7|vKSaRH!;Wy8E#`x z-w5O|F-QVQE+EaoAkV?|nfr-Ho0ONrPv;Y7A From c9e96af0a57daa3c1fe399875463319270c199f9 Mon Sep 17 00:00:00 2001 From: Kilokem Date: Fri, 4 Oct 2024 20:44:18 +0200 Subject: [PATCH 2/2] CastOverrideAndAnonymusClasses --- castingandothers/pom.xml | 16 +++++++ .../src/main/java/com/example/Animal.java | 8 ++++ .../src/main/java/com/example/Cat.java | 12 +++++ .../src/main/java/com/example/Main.java | 41 ++++++++++++++++++ .../target/classes/com/example/Animal.class | Bin 0 -> 407 bytes .../target/classes/com/example/Cat.class | Bin 0 -> 715 bytes .../target/classes/com/example/Main$1.class | Bin 0 -> 634 bytes .../target/classes/com/example/Main.class | Bin 0 -> 1326 bytes 8 files changed, 77 insertions(+) create mode 100644 castingandothers/pom.xml create mode 100644 castingandothers/src/main/java/com/example/Animal.java create mode 100644 castingandothers/src/main/java/com/example/Cat.java create mode 100644 castingandothers/src/main/java/com/example/Main.java create mode 100644 castingandothers/target/classes/com/example/Animal.class create mode 100644 castingandothers/target/classes/com/example/Cat.class create mode 100644 castingandothers/target/classes/com/example/Main$1.class create mode 100644 castingandothers/target/classes/com/example/Main.class diff --git a/castingandothers/pom.xml b/castingandothers/pom.xml new file mode 100644 index 0000000..074fc54 --- /dev/null +++ b/castingandothers/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + com.example + castingandothers + 1.0-SNAPSHOT + + + 17 + 17 + + + \ No newline at end of file diff --git a/castingandothers/src/main/java/com/example/Animal.java b/castingandothers/src/main/java/com/example/Animal.java new file mode 100644 index 0000000..3b75755 --- /dev/null +++ b/castingandothers/src/main/java/com/example/Animal.java @@ -0,0 +1,8 @@ +package com.example; + +class Animal{ + public String name; + public void Animal(){ + this.name = "Something!!!"; + } +} \ No newline at end of file diff --git a/castingandothers/src/main/java/com/example/Cat.java b/castingandothers/src/main/java/com/example/Cat.java new file mode 100644 index 0000000..1e0fc07 --- /dev/null +++ b/castingandothers/src/main/java/com/example/Cat.java @@ -0,0 +1,12 @@ +package com.example; + +public class Cat extends Animal { + public String sound; + public void Cat(){ + this.sound = "MEEEEOW"; + } + public void makesound(){ + this.sound = "Something like MEEEEOW"; + System.err.println(sound); + } +} diff --git a/castingandothers/src/main/java/com/example/Main.java b/castingandothers/src/main/java/com/example/Main.java new file mode 100644 index 0000000..6c5fbe2 --- /dev/null +++ b/castingandothers/src/main/java/com/example/Main.java @@ -0,0 +1,41 @@ +package com.example; + +import java.util.Scanner; + +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + + double asd = 3.5423; + int castedasd = (int) asd; + System.out.println(castedasd); + System.out.print("Gimme a letter and Ill tel you the ASCII code! "); + Scanner read = new Scanner(System.in); + char a = read.next().charAt(0); + + //your code goes here + System.out.println((int)a); + + + // Upcasting + // You can cast an instance of a subclass to its superclass. + + // Consider the following example, assuming that Cat is a subclass of Animal. + Animal C = new Cat(); + + Animal B = new Cat(); + System.out.println(((Cat)B).sound); + + // Anonymous Classes + // Anonymous classes are a way to extend the existing classes on the fly. + + // For example, consider having a class Machine: + Cat c = new Cat(){ + @Override public void makesound(){ + System.err.println("MOOOOOOOOOOOOOO"); + } + }; + + c.makesound(); + } +} \ No newline at end of file diff --git a/castingandothers/target/classes/com/example/Animal.class b/castingandothers/target/classes/com/example/Animal.class new file mode 100644 index 0000000000000000000000000000000000000000..830297ce253b1d06aadcd67a2f91da7bdfaa0f8b GIT binary patch literal 407 zcmZWlyH3L}6g|$%Z5k+q*Ge|%Kqe+05<+5%U9&% z>FJCPK`C?Sl0B-2l%@Ry@F(vGU;A-HF`zbxxIr=Mb03=+Q$@eDBA=32hvSoY`wcs5 Udf0CXNQVEB;46teB01Rq0nNil*#H0l literal 0 HcmV?d00001 diff --git a/castingandothers/target/classes/com/example/Cat.class b/castingandothers/target/classes/com/example/Cat.class new file mode 100644 index 0000000000000000000000000000000000000000..ce4c4cba6707b11f30175a57973e9619fcfa0708 GIT binary patch literal 715 zcmZWm%We}v5UloN*WPR%wn;)D4~JlId|*$U0+AvsoD4*Al$iYrRJBSs)$~ z2R?w0Le#7y+bFwI&rJ7pbydxuzrTJ1c#T6B1;Oedi30seMWav$U6r{g3F?c`ccVV4AXM=%=x3>kherbEm5EJuEGV`QF9fA-a;-fSvE;)=g=2aq*6$|K zl}^vqRj4gYGEm`#N{v0=B}>@{GZxf(iv-Au6N+3as0-Y;r~KYuRv~!cqYOt-jnu8q z`Bktf*ytybCR99ZhUQi`XB}I3?BbDNZ9&54ai$|5+t}d{ou-2IsX~(kXOx#wq*l?9 zhdu1OXbKv6_y1)dPjEnTBij+i1Zm&*$y(z~{j}yh^YPT0gAV zTA{=wXU?44_nmX*{p0lwz%JHYWEgUF9f#tc$G4FPD_pAlmJ5erpwnOChM{LiDrxo@ zx(e$x2B)MO!bcap0Nv=Jin3JVxEWuFf0j4p-;NDu8ND*?O4c%rouwWA6#gc$z4m4y_mB%gn>J1Cl(OYsY!XOJL)_*97+eCX)X92C7WNXY*9BgJ zci<5~$Vfy&{N_1$2mV$4#tBLcth94x&Y5%0ch33dvg0+h?d!ZH#tfKWU?l%=^)P=miM?>URH)_9k3jl>ubBmq{{gn(#S)35CR+R5Y_R}c#>r*DiFkxU^V6dI7 z)4{??ObQsgI)+bF!};%l%3QZt&!eWD>?nJ&TCP-Vm+hRgb(9$kvpRLUo!US_puY{UnRvcab!8Z;SU2Nm z3#ajmK$mXXVbzszxA~=N6L~m#K)(u%9u&Yjk6tO%^rdqa&f@~1hw2%7IFv7ZTdj#p z_|3rO&H=Q?W8n&lfINE9wQ%L^AGStD^#n20+ugy#RU5=^4%wlOXt5Gv{)v~8wL{8&Bqw6FWD|(J) zUp5+wczf1WBUw}W`7|&ELgga`y13)>;%e~ZPzuWQ+*@Q{waq41ZKe`ET&;t>g=0MB za2&nV&{_29$4Z_58hryJEsPG~)XMCO1s*3`u(kHb7Jk}8e)Bb$;7lHkH>cI$i zr-*Zowu>b6JVvpMacp1$f3pdX_z<3uoVu<%^dxqyph9WkAN+woSy?Y{u40X~&5;%B z^i46=W!%DTc4Qedly}&n4NRiSox!LX+{Hb{>qd>Sy6_k7Q<{vnM5(_`{waO_A2abE Ar~m)} literal 0 HcmV?d00001