r/JavaProgramming • • 19d ago

A good youtube video to learn OOP.

I am currently learning everything from scratch. So I watched some vudeo in OOP in java but didn't understand fully. So can someone recommend a YouTube channel or website yo learn oop especially polymorphism and abstraction.

4 Upvotes

19 comments sorted by

1

u/ChaoticHippo 19d ago

Polymorphism involves inheritance. Say you have a class called "Animal" which has variable legs and method Noise(). All animals have these. Then you make subclasses: Human and Dog, both of which are Animal objects. Dogs have legs = 4, Noise() returns "Woof". Humans have legs = 2, Noise() returns "dude wtf".

The benefit of this is that let's say you're passing Animal objects around, and want them to display their number of legs and the noise they make. Instead of doing a lot of work to figure out what type of Animal each one you pass to the method is, you can simply just say:

private void printAnimal(Animal animal) {
System.out.println(animal.legs);
System.out.println(animal.Noise();
}

It doesn't matter what kind of animal you get passed - this will always work, because all Animal objects have these fields.

Abstraction is something you do every day without realizing it. When you pick up a pencil, you don't worry about the exact composition of the graphite inside, or the wood pressed around it, or the metal band and how it was formed, or how erasers are made. You pick up a pencil and write with it. That is abstraction - using the OBJECT for what it was made for, without worrying about HOW it was made.
Note - it is often important what the object has, but not how. Back to our pencil - it's important that you know the pencil has an eraser, but you do not care how it was made.

Hope this helps! To comment on other posts - I would highly discourage against using AI to learn. AI is a great tool, but I truly feel it hampers your ability to actually grasp concepts you don't yet understand, and it can give you incorrect information.

1

u/scared2026 19d ago

Wow thanks alot. The effort you put for a stranger to understand something😭I appreciate itā¤ļø

1

u/ChaoticHippo 19d ago

For a Youtube channel - I think this guy's explanations are generally easy to understand.

1

u/HyperDanon 16d ago

Polymorphism involves inheritance.

No, not as a fundamental rule. Some languages' only way of providing polymorphism is through inheritance, but it's not the rule. There ara ways to achieve polymorphism without inheritance.

→ More replies (4)

1

u/HyperDanon 16d ago

@scared2026 This is the best video I found about OOP, because it tells what OOP is without all the artificial noise people have added to it.

https://www.youtube.com/watch?v=zHiWqnTWsn4

1

u/scared2026 13d ago

Thanks alot

1

u/No-Bug6118 19d ago

Just use chatGPT to learn . Its the most effective way

2

u/BiteDependent5588 19d ago

How to make it read aloud

1

u/useandkeepit 19d ago

Kunal Kushwaha. But you may face problems in understanding in some topics so use chat gpt there.

1

u/Zzzami69 19d ago

I recently found that document resources are better than video. Maybe reconsider your choice of youtube. If you really want to understand why OOP was created, there are videos of uncle bob explaining design but that's not a tutorial that's like a sitdown about OOP.