ALSO KNOWN AS RUNTIME POLYMORPHISM //************************************************* import java.util.Scanner; public class Main { public static void main(String[] args) { //Dynamic Polymorphism Scanner scanner = new Scanner(System.in); Animal animal; System.out.println("What animal do you want?"); System.out.print("(1=dog) or (2=cat): "); int choice = scanner.nextInt(); if(choice==1) { animal = new Dog(); animal.speak(); } else if(choice==2) { animal = new Cat(); animal.speak(); } else { animal = new Animal(); System.out.println("That choice was invalid"); animal.speak(); } } } //************************************************* public class Animal { public void speak() { System.out.println("animal goes *brrrr*"); } } //************************************************* public class Dog extends Animal{ @Override public void speak() { System.out.println("dog goes *bark*"); } } //************************************************* public class Cat extends Animal{ @Override public void speak() { System.out.println("cat goes *meow*"); } } //*************************************************
@noisyguest52494 жыл бұрын
Dam u wrote a whole essay of codes in the comment section
@AHSANALI-ev7sx4 жыл бұрын
Got it ...its easy thanks cool that you post code here...bro this an amazing channel...I dint know why its underrated
@BroCodez4 жыл бұрын
I cheated. I copied and pasted it from my IDE lol. Don't tell anybody
@noisyguest52494 жыл бұрын
@@BroCodez Liar!!!!!!!
@noah774 жыл бұрын
@@BroCodez it's ok, you still helped
@meltdown68564 жыл бұрын
Man I just looked at ur sub count and you have Grown!! Great job with the videos!
@BroCodez4 жыл бұрын
thanks Melt Down!
@nikitamarkovski71212 жыл бұрын
One of the most understandable lessons on KZfaq. Thank you Bro!
@LamNguyen-nm1fq2 жыл бұрын
Love this channel! I spent a whole week trying to understand polymorphism and it was really a nightmare since I couldn't get anything from the lecture at uni. Your video really save my life. Hope that you have patreons so that I could support :3
@kemann38152 жыл бұрын
The example at the end was great. I think i got a good idea of how it works. Thanks a lot ❤
@TheSoprah3 жыл бұрын
I played Pokémon when I was a kid I played WoW when I was a teenager / young adult I study Computer Science as an adult I like this channel! :-)
@sunshine15382 ай бұрын
Thank you Bro Code. Your video helps me a lot to understand polymorphism! I've spent a few weeks catching those concepts before watching your videos. I should've found this early.❤
@omersond48913 жыл бұрын
i liked that example with pokemon. that's what i like about this channel. examples are given of what certain methods are used for.
@cdjosh35683 жыл бұрын
Great vid, I like the video game examples, keep them coming!
@MarcusGrey3 жыл бұрын
You explained everything so well !! *subscribed*
@noah774 жыл бұрын
Good video. BTW, can you make a small java game series or if not that then a video of making a cube in Java?
@BroCodez4 жыл бұрын
I'm going to be dedicating videos #90-100 in this playlist to games and projects mostly. I believe we are on #86 right now
@noah774 жыл бұрын
*wow*! Thank you very very much! But only one tutorial of making something 3D?
@BroCodez4 жыл бұрын
I actually suck at 3D graphics lol I'll brush up on my skills and see what I can do no promises tho
@noah774 жыл бұрын
@@BroCodez thanks for your efforts
@yonatan_song3 жыл бұрын
Great, man. I like the way the example is given. To the point
@iztillanurulla1518 ай бұрын
I watched a lot of KZfaq Java tutorials, You are the best, and I hope you can create more practice Task questions and solutions videos
@joviksalmeron96643 жыл бұрын
Great! You made it very understandable! Good job!
@AHSANALI-ev7sx4 жыл бұрын
Amazing job...love the way you explain
@kedea1593 жыл бұрын
Thank you bro! let's fight the algorithm :D you deserve it
@SereneEverhart2 жыл бұрын
# 1 best java teacher
@renecabuhan16753 жыл бұрын
My ged u explain it clearly bro. Thank you
@rafikcherfa4783 ай бұрын
thank you bro
@ahmadsan29073 жыл бұрын
thank bro you literally saving my A$$ before exam
@alaric-bs33489 ай бұрын
Like and subscribed, thank for saving my assignment grade
@bossowa315 Жыл бұрын
Yoo Man. Just got the idea from the video. Thanks.🙏
@Wai-uc7tg Жыл бұрын
I really like this channel. Thanks Bro Code.
@muhammedenesgokdeniz62012 жыл бұрын
You are awesome man . Thanks a lot
@Dinesh05022 жыл бұрын
Nice Example Earned a sub :)
@khaledelsayed3507 Жыл бұрын
Thank you for free courses ❤
@Simis999 Жыл бұрын
All these prayers go towards my next job
@noisyguest52494 жыл бұрын
I subbed btw
@armandso13 жыл бұрын
Hi Bro Code! okay, so I'm totally new to programming and been told to start with Java (something I'm still trying to understand why:)). Anyway, I do like your content but do have a question regarding this particular video. I guess I understand the concept and the logic behind this dynamic polymorphism thing but still having a hard time to understand exactly why and when I would use it. Here's the confusion in my head: Why can't I just use the following if/else statement to achieve the exact same goal: ------------------------------------------------------------------------------------------------------------------ if(choice==1) { Dog dog = new Dog(); dog.speak(); } else if(choice==2) { Cat cat = new Cat(); cat.speak(); } else { Animal animal = new Animal(); System.out.println("That choice was invalid"); animal.speak(); } ------------------------------------------------------------------------------------------------------------------ So, I instantiate a dog object or cat object when and if I need it at runtime just as in the way you have done it. Can you or someone reading this message and who knows the exact answer, please reply to me and let me know because it is driving me nuts trying to figure out. I have been Googling this thing for the past 2 days straight and have not been able to find a detailed explanation as to why someone would do it the Bro way when it can also be done my way. I'm sure there's a very good reason which is why it was implemented in the first place but WHAT IS THAT REASON? :)
@robinshere86972 жыл бұрын
I think depending on the need ,we can code as per your wish
@elzacontiero27702 жыл бұрын
The whole point of the example is to show how polymorphism works. So, the video shows animal variable being assigned first to a dog, then a cat and a general animal. If you remove the polymorphism by making Dog and Cat not extend Animal your code would compile and work as intended whereas the example in this video would not compile.
@kippenvogelchen97173 жыл бұрын
ty! Very good explained! :-)
@danny.30363 жыл бұрын
Thanks, Bro! ☕ You're awesome!
@azizchahbi3538 Жыл бұрын
Good explanation and examples
@mustafaercan6866 ай бұрын
Bro explained Factory pattern, without saying it's Factory pattern 👌
@user-zq6yx7of5f Жыл бұрын
Thank you very much!
@hgatl3 жыл бұрын
awesome videos for beginners
@vindydog76642 жыл бұрын
Great youtuber
@minhtetpaing16953 жыл бұрын
Thank you so much sir.
@TheEvertonDias Жыл бұрын
Thanks, Bro!
@vpenywise2 жыл бұрын
Bros before codes! Good content!
@jamesarden75543 жыл бұрын
great video. great teacher
@angelcastineira25614 жыл бұрын
thanks for the video!
@bentameurmohammedayoub14642 жыл бұрын
hi Bro why we don't use "Dog dog=new Dog();" and can we use switch statement in a place of "if Statement". thank you bro love the way you explain
@agnivodas Жыл бұрын
I don't know if this is the correct answer, but here's what I think: if you're working on a very big project, the dog and cat objects will have many methods which are common, like eat(), sleep(), move(), and many more. And if you create more subclasses like Horses and Squirrels and others, their objects will have these methods too. So instead of writing these methods repeatedly in these classes, you could just create them in the Animal class and have these classes inherit the methods from the Animal class. I think that's why we need the Animal class (to keep the methods which are common to all the subclasses) alongside the subclasses (to keep the methods which are more specific to the subclasses). What I mean to say is, if you do Dog dog=new Dog(), you won't inherit the methods from the Animal class, which will force you to write the common methods all over again. But if you do Animal animal=new Dog(), you'll inherit all the common methods from the Animal class, as well as getting the methods specific to the Dog class. And yes, you can use a switch statement instead of an if block.
@eugenezuev73493 ай бұрын
as always, thanks
@thedarkwhisperingcloud8 ай бұрын
Thanks 👍🏾
@noisyguest52494 жыл бұрын
Do u think python is better or java
@meltdown68564 жыл бұрын
If you learn Java, all the other languages seem much much easier. Cuz java is one of the languages with heavier syntax. So id recommend java for beginners. Hope that helped :)
@noisyguest52494 жыл бұрын
@@meltdown6856 i started with python
@BroCodez4 жыл бұрын
It's personal preference. I learned more about computer science and programming with Java, but Python is more convenient to use since there's less syntax. If you begin with Java and switch to Python later, Python should be very very easy to learn.
@meggieelo2 жыл бұрын
YOU ARE THE BEST
@equaliser193 жыл бұрын
Animals go BRUHHH
@akoldousamuel84842 жыл бұрын
Good
@wallstreetbets77412 жыл бұрын
Cool I learn it
@camerald82572 жыл бұрын
so amazing 😮
@praisethesun13 жыл бұрын
wait i have to point something out real quick im pretty sure insted of using if or elseif statements couldnt of u just used a switch statement. great vid btw
@alikkk91692 жыл бұрын
nice video
@kaushalprasadyadav92422 жыл бұрын
Please make videos for mobile app development.....
@girl69944 жыл бұрын
Good. But we should consider, if a Animal dog is treated as Animal, that is acceptable, but if that dog(which treated as Animal now) is treated as a cat, what exception will we get? I think we will learn that next.
@izaeljunior90072 жыл бұрын
nice video bro
@suryaa55643 жыл бұрын
Thank You So Much
@mathumathusan1542 жыл бұрын
aasam vro
@xxg3fallxx5892 ай бұрын
thanks
@rakhalsubbarao83754 ай бұрын
Love u Brother
@mackensonreginaldmichel399 Жыл бұрын
Nice content.
@rashmikakelum8803 Жыл бұрын
thank you
@danielmilewski76592 жыл бұрын
thanks!
@MrLoser-ks2xn2 жыл бұрын
Thanks
@theeverleinhour9616 Жыл бұрын
ty bro
@eng60702 жыл бұрын
Hey bro, I got a question when watching the video, what's the difference when creating the object using Animal type compared to using the specific type of Dog? Appreciate it if someone could answer this.
@marcosa.68862 жыл бұрын
La diferencia es que si usas Animal en lugar de Dog el texto que se muestra en la consola será "Animal goes *brrr* en lugar de "Dog goes *bark*!".
@augischadiegils.51093 жыл бұрын
Thankss bro :)
@mariorossi14564 жыл бұрын
What will you do after Java?
@BroCodez4 жыл бұрын
Python and Javascript for a little while. almost there
@uritaabdelmasih292 Жыл бұрын
Impressive!
@majid18852 жыл бұрын
awesome
@ibrahimylmaz83782 жыл бұрын
thanks bro
@baubaudinamo3 жыл бұрын
Good video.
@nehalayaaz94064 жыл бұрын
Thanks 🌸
@speklex779 Жыл бұрын
dope video
@pouriahich42152 жыл бұрын
🔥🔥🔥
@UltraSolarGod2 жыл бұрын
1) Animal animal = new Dog/Cat();??? 2) Animal animal = new animal(); can someone explain this to me how the 1st statement is true as its taking the data type from different class while declaing another class object ?? i know my question make no sense jus try to humor me the only explanation i am think is the animal class is extend to both dog and cat so we can take the data from both the class
@lamias77122 жыл бұрын
and that's that easy :D
@be432n32 жыл бұрын
long live bro
@fatihbasal6085 Жыл бұрын
i am helping you right now
@fatihbasal6085 Жыл бұрын
becuse im fuckin loved it
@Mohammed-tx1ok4 жыл бұрын
what is dynamic polymorphism, is it overiding?
@BroCodez4 жыл бұрын
method overriding is an example of dynamic (runtime) polymorphism
@neuzen Жыл бұрын
Why not just create Cat someCat = new Cat() or Dog someDog = new Dog() inside that if-else?
@alexyakoveno4682 Жыл бұрын
@chakmak3 жыл бұрын
where is the new videos?!
@aboyiphilippa11364 ай бұрын
@hannibalbianchi14663 жыл бұрын
❤❤
@shalajko3 жыл бұрын
I'm Finding this familiar.
@noisyguest52494 жыл бұрын
Am i the only one to still use notepad lmao
@noah774 жыл бұрын
Download intellij
@BroCodez4 жыл бұрын
hey if it works for you, why not
@greeneggsandmushrooms98553 жыл бұрын
polywhirl
@kianfrawley83642 жыл бұрын
k
@ashishthakur9983 Жыл бұрын
111
@maciejkaminski85353 жыл бұрын
comment
@ordanino9354 Жыл бұрын
Bro
@zstar8397 Жыл бұрын
Yo just wanna say that GOD loved the world so much he sent his only begotten son Jesus to die a brutal death for us so that we can have eternal life and we can all accept this amazing gift this by simply believing in him (Jesus) asking for the forgiveness of your sins and forming a relationship with heavenly father.././...