Java dynamic polymorphism ✨

Поделиться
HTML-код
  • Опубликовано: 5 авг 2024
  • Java dynamic runtime polymorphism tutorial explained
    #java #dynamic #polymorphism #runtime
    //*************************************************
    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*");
    }
    }
    //*************************************************
  • НаукаНаука

Комментарии • 126

  • @BroCodez
    @BroCodez  4 года назад +45

    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*");
    }
    }
    //*************************************************

    • @noisyguest5249
      @noisyguest5249 4 года назад

      Dam u wrote a whole essay of codes in the comment section

    • @AHSANALI-ev7sx
      @AHSANALI-ev7sx 4 года назад +1

      Got it ...its easy thanks cool that you post code here...bro this an amazing channel...I dint know why its underrated

    • @BroCodez
      @BroCodez  4 года назад +7

      I cheated. I copied and pasted it from my IDE lol. Don't tell anybody

    • @noisyguest5249
      @noisyguest5249 4 года назад +1

      @@BroCodez Liar!!!!!!!

    • @noah77
      @noah77 4 года назад

      @@BroCodez it's ok, you still helped

  • @nikitamarkovski7121
    @nikitamarkovski7121 2 года назад +8

    One of the most understandable lessons on RUclips. Thank you Bro!

  • @LamNguyen-nm1fq
    @LamNguyen-nm1fq 2 года назад +5

    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

  • @kemann3815
    @kemann3815 2 года назад +4

    The example at the end was great. I think i got a good idea of how it works. Thanks a lot ❤

  • @cdjosh3568
    @cdjosh3568 3 года назад +4

    Great vid, I like the video game examples, keep them coming!

  • @MarcusGrey
    @MarcusGrey 3 года назад +2

    You explained everything so well !! *subscribed*

  • @joviksalmeron9664
    @joviksalmeron9664 3 года назад +2

    Great! You made it very understandable! Good job!

  • @sunshine1538
    @sunshine1538 Месяц назад

    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.❤

  • @yonatan_song
    @yonatan_song 3 года назад +1

    Great, man. I like the way the example is given. To the point

  • @meltdown6856
    @meltdown6856 4 года назад +19

    Man I just looked at ur sub count and you have Grown!! Great job with the videos!

    • @BroCodez
      @BroCodez  4 года назад +2

      thanks Melt Down!

  • @AHSANALI-ev7sx
    @AHSANALI-ev7sx 4 года назад +1

    Amazing job...love the way you explain

  • @omersond4891
    @omersond4891 3 года назад +1

    i liked that example with pokemon. that's what i like about this channel. examples are given of what certain methods are used for.

  • @kedea159
    @kedea159 3 года назад

    Thank you bro! let's fight the algorithm :D you deserve it

  • @muhammedenesgokdeniz6201
    @muhammedenesgokdeniz6201 2 года назад

    You are awesome man . Thanks a lot

  • @iztillanurulla151
    @iztillanurulla151 7 месяцев назад

    I watched a lot of RUclips Java tutorials, You are the best, and I hope you can create more practice Task questions and solutions videos

  • @Dinesh0502
    @Dinesh0502 2 года назад

    Nice Example Earned a sub :)

  • @kippenvogelchen9717
    @kippenvogelchen9717 3 года назад

    ty! Very good explained! :-)

  • @user-zq6yx7of5f
    @user-zq6yx7of5f Год назад

    Thank you very much!

  • @angelcastineira2561
    @angelcastineira2561 4 года назад

    thanks for the video!

  • @danny.3036
    @danny.3036 3 года назад

    Thanks, Bro! ☕ You're awesome!

  • @azizchahbi3538
    @azizchahbi3538 Год назад

    Good explanation and examples

  • @jamesarden7554
    @jamesarden7554 3 года назад

    great video. great teacher

  • @khaledelsayed3507
    @khaledelsayed3507 Год назад

    Thank you for free courses ❤

  • @renecabuhan1675
    @renecabuhan1675 3 года назад

    My ged u explain it clearly bro. Thank you

  • @rafikcherfa478
    @rafikcherfa478 2 месяца назад +1

    thank you bro

  • @Wai-uc7tg
    @Wai-uc7tg Год назад

    I really like this channel. Thanks Bro Code.

  • @hgatl
    @hgatl 3 года назад

    awesome videos for beginners

  • @noisyguest5249
    @noisyguest5249 4 года назад +1

    I subbed btw

  • @TheEvertonDias
    @TheEvertonDias Год назад

    Thanks, Bro!

  • @suryaa5564
    @suryaa5564 3 года назад

    Thank You So Much

  • @minhtetpaing1695
    @minhtetpaing1695 3 года назад

    Thank you so much sir.

  • @camerald8257
    @camerald8257 2 года назад

    so amazing 😮

  • @SereneEverhart
    @SereneEverhart 2 года назад

    # 1 best java teacher

  • @thedarkwhisperingcloud
    @thedarkwhisperingcloud 7 месяцев назад

    Thanks 👍🏾

  • @danielmilewski7659
    @danielmilewski7659 Год назад

    thanks!

  • @bossowa315
    @bossowa315 Год назад

    Yoo Man. Just got the idea from the video. Thanks.🙏

  • @TheSoprah
    @TheSoprah 3 года назад +7

    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! :-)

  • @vindydog7664
    @vindydog7664 2 года назад

    Great youtuber

  • @vpenywise
    @vpenywise 2 года назад

    Bros before codes! Good content!

  • @eugenezuev7349
    @eugenezuev7349 3 месяца назад

    as always, thanks

  • @uritaabdelmasih292
    @uritaabdelmasih292 Год назад

    Impressive!

  • @meggieelo
    @meggieelo 2 года назад

    YOU ARE THE BEST

  • @nehalayaaz9406
    @nehalayaaz9406 4 года назад

    Thanks 🌸

  • @rashmikakelum8803
    @rashmikakelum8803 Год назад

    thank you

  • @augischadiegils.5109
    @augischadiegils.5109 3 года назад

    Thankss bro :)

  • @mackensonreginaldmichel399
    @mackensonreginaldmichel399 Год назад

    Nice content.

  • @alikkk9169
    @alikkk9169 2 года назад

    nice video

  • @wallstreetbets7741
    @wallstreetbets7741 2 года назад

    Cool I learn it

  • @MrLoser-ks2xn
    @MrLoser-ks2xn 2 года назад

    Thanks

  • @majid1885
    @majid1885 2 года назад

    awesome

  • @PoorwayTraning
    @PoorwayTraning Год назад

    thanks

  • @izaeljunior9007
    @izaeljunior9007 Год назад

    nice video bro

  • @theeverleinhour9616
    @theeverleinhour9616 Год назад

    ty bro

  • @akoldousamuel8484
    @akoldousamuel8484 2 года назад

    Good

  • @baubaudinamo
    @baubaudinamo 3 года назад

    Good video.

  • @Simis999
    @Simis999 Год назад

    All these prayers go towards my next job

  • @ibrahimylmaz8378
    @ibrahimylmaz8378 2 года назад

    thanks bro

  • @speklex779
    @speklex779 11 месяцев назад

    dope video

  • @mathumathusan154
    @mathumathusan154 2 года назад

    aasam vro

  • @rakhalsubbarao8375
    @rakhalsubbarao8375 4 месяца назад

    Love u Brother

  • @alaric-bs3348
    @alaric-bs3348 8 месяцев назад

    Like and subscribed, thank for saving my assignment grade

  • @noah77
    @noah77 4 года назад +5

    Good video.
    BTW, can you make a small java game series or if not that then a video of making a cube in Java?

    • @BroCodez
      @BroCodez  4 года назад +7

      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

    • @noah77
      @noah77 4 года назад +3

      *wow*! Thank you very very much!
      But only one tutorial of making something 3D?

    • @BroCodez
      @BroCodez  4 года назад +5

      I actually suck at 3D graphics lol
      I'll brush up on my skills and see what I can do
      no promises tho

    • @noah77
      @noah77 4 года назад +1

      @@BroCodez thanks for your efforts

  • @ahmadsan2907
    @ahmadsan2907 3 года назад

    thank bro you literally saving my A$$ before exam

  • @pouriahich4215
    @pouriahich4215 2 года назад

    🔥🔥🔥

  • @praisethesun1
    @praisethesun1 2 года назад

    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

  • @kaushalprasadyadav9242
    @kaushalprasadyadav9242 2 года назад

    Please make videos for mobile app development.....

  • @eng6070
    @eng6070 2 года назад +1

    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.6886
      @marcosa.6886 2 года назад

      ‎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*!".‎

  • @hannibalbianchi1466
    @hannibalbianchi1466 3 года назад

    ❤❤

  • @be432n3
    @be432n3 2 года назад

    long live bro

  • @armandso1
    @armandso1 3 года назад +2

    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? :)

    • @robinshere8697
      @robinshere8697 2 года назад

      I think depending on the need ,we can code as per your wish

    • @elzacontiero2770
      @elzacontiero2770 2 года назад +1

      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.

  • @equaliser19
    @equaliser19 3 года назад

    Animals go BRUHHH

  • @bentameurmohammedayoub1464
    @bentameurmohammedayoub1464 2 года назад +1

    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
      @agnivodas Год назад +1

      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.

  • @mustafaercan686
    @mustafaercan686 5 месяцев назад

    Bro explained Factory pattern, without saying it's Factory pattern 👌

  • @mariorossi1456
    @mariorossi1456 4 года назад +2

    What will you do after Java?

    • @BroCodez
      @BroCodez  4 года назад +1

      Python and Javascript for a little while. almost there

  • @lamias7712
    @lamias7712 2 года назад

    and that's that easy :D

  • @Mohammed-tx1ok
    @Mohammed-tx1ok 4 года назад +1

    what is dynamic polymorphism, is it overiding?

    • @BroCodez
      @BroCodez  4 года назад

      method overriding is an example of dynamic (runtime) polymorphism

  • @fatihbasal6085
    @fatihbasal6085 Год назад

    i am helping you right now

  • @chakmak
    @chakmak 3 года назад

    where is the new videos?!

  • @girl6994
    @girl6994 4 года назад

    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.

  • @shalajko
    @shalajko 3 года назад

    I'm Finding this familiar.

  • @alexyakoveno4682
    @alexyakoveno4682 Год назад

  • @greeneggsandmushrooms9855
    @greeneggsandmushrooms9855 3 года назад

    polywhirl

  • @UltraSolarGod
    @UltraSolarGod 2 года назад

    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

  • @noisyguest5249
    @noisyguest5249 4 года назад +2

    Do u think python is better or java

    • @meltdown6856
      @meltdown6856 4 года назад +4

      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 :)

    • @noisyguest5249
      @noisyguest5249 4 года назад +1

      @@meltdown6856 i started with python

    • @BroCodez
      @BroCodez  4 года назад +1

      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.

  • @neuzen
    @neuzen Год назад

    Why not just create Cat someCat = new Cat() or Dog someDog = new Dog() inside that if-else?

  • @anjapietralla5767
    @anjapietralla5767 6 месяцев назад

  • @ashishthakur9983
    @ashishthakur9983 Год назад

    111

  • @noisyguest5249
    @noisyguest5249 4 года назад +1

    Am i the only one to still use notepad lmao

    • @noah77
      @noah77 4 года назад +1

      Download intellij

    • @BroCodez
      @BroCodez  4 года назад +1

      hey if it works for you, why not

  • @kianfrawley8364
    @kianfrawley8364 2 года назад

    k

  • @maciejkaminski8535
    @maciejkaminski8535 3 года назад

    comment

  • @ordanino9354
    @ordanino9354 Год назад

    Bro

  • @zstar8397
    @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.././...

  • @kamandshayegan4824
    @kamandshayegan4824 2 года назад

    Thanks

  • @xxg3fallxx589
    @xxg3fallxx589 Месяц назад

    thanks

  • @romanrubanovich9273
    @romanrubanovich9273 3 года назад +1

    Thanks, Bro!

    • @WajdaanM
      @WajdaanM 7 месяцев назад

      Free Palestine 🇵🇸

  • @aboyiphilippa1136
    @aboyiphilippa1136 4 месяца назад

  • @mudassirnaz1813
    @mudassirnaz1813 3 года назад

    Thanks

  • @mudassirnaz1813
    @mudassirnaz1813 3 года назад

    thanks