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*"); } } //*************************************************
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
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.❤
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? :)
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.
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.
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
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.
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 :)
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.
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.
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
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.././...
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*");
}
}
//*************************************************
Dam u wrote a whole essay of codes in the comment section
Got it ...its easy thanks cool that you post code here...bro this an amazing channel...I dint know why its underrated
I cheated. I copied and pasted it from my IDE lol. Don't tell anybody
@@BroCodez Liar!!!!!!!
@@BroCodez it's ok, you still helped
Man I just looked at ur sub count and you have Grown!! Great job with the videos!
thanks Melt Down!
One of the most understandable lessons on RUclips. Thank you Bro!
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! :-)
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
Great vid, I like the video game examples, keep them coming!
The example at the end was great. I think i got a good idea of how it works. Thanks a lot ❤
You explained everything so well !! *subscribed*
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.❤
Great, man. I like the way the example is given. To the point
i liked that example with pokemon. that's what i like about this channel. examples are given of what certain methods are used for.
Great! You made it very understandable! Good job!
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
Amazing job...love the way you explain
great video!!! I'm infinitely grateful for your dedication and big heart to share this knowledge with the world. Thank you soo much
Nice Example Earned a sub :)
awesome videos for beginners
Thank you bro! let's fight the algorithm :D you deserve it
Thank you! Big respect!!
You are awesome man . Thanks a lot
Congrats, you beat my professors of my old university. My current one got the same zest as you. Good luck w the Algorithm boss
I really like this channel. Thanks Bro Code.
Good explanation and examples
thank you bro
Thank you ,You explain it well
My ged u explain it clearly bro. Thank you
# 1 best java teacher
Thank you for free courses ❤
Good video.
BTW, can you make a small java game series or if not that then a video of making a cube in Java?
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
*wow*! Thank you very very much!
But only one tutorial of making something 3D?
I actually suck at 3D graphics lol
I'll brush up on my skills and see what I can do
no promises tho
@@BroCodez thanks for your efforts
Thanks, Bro! ☕ You're awesome!
All these prayers go towards my next job
great video. great teacher
ty! Very good explained! :-)
Thank you very much!
Bros before codes! Good content!
Great video
Great youtuber
thanks for the video!
Nice content.
Yoo Man. Just got the idea from the video. Thanks.🙏
I subbed btw
so amazing 😮
Love this
Good
Thank you so much sir.
thank bro you literally saving my A$$ before exam
YOU ARE THE BEST
awesome
Thank You So Much
nice video
Like and subscribed, thank for saving my assignment grade
Good video.
🔥🔥🔥
as always, thanks
Impressive!
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? :)
I think depending on the need ,we can code as per your wish
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.
your suggestion is correct but I think some people is not same of opinion
Thankss bro :)
nice video bro
Thanks 🌸
aasam vro
thanks!
thank you
dope video
Cool I learn it
What will you do after Java?
Python and Javascript for a little while. almost there
Love u Brother
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.
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*!".
Thanks
Please make videos for mobile app development.....
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
thanks bro
thanks
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
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.
Bro explained Factory pattern, without saying it's Factory pattern 👌
where is the new videos?!
Animals go BRUHHH
ty bro
Do u think python is better or java
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 :)
@@meltdown6856 i started with python
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.
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.
❤❤
long live bro
Thanks, Bro!
Free Palestine 🇵🇸
i am helping you right now
becuse im fuckin loved it
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
Why not just create Cat someCat = new Cat() or Dog someDog = new Dog() inside that if-else?
I'm Finding this familiar.
Am i the only one to still use notepad lmao
Download intellij
hey if it works for you, why not
and that's that easy :D
damn dude
polywhirl
k
111
Bro
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.././...
Thanks, Bro!
Thanks 👍🏾
Thanks