Intro to Object Oriented Programming - Crash Course

preview_player
Показать описание
Learn the basics of object-oriented programming all in one video.

⭐️ Course Contents ⭐️
⌨️ (00:00) Introduction
⌨️ (07:37) Encapsulation
⌨️ (12:45) Abstraction
⌨️ (17:49) Inheritance
⌨️ (22:47) Polymorphism

⭐️ Sources ⭐️

--

Рекомендации по теме
Комментарии
Автор

This was a great refresher for me. I like that the instructor speaks slowly so I can increase the video speed through sections I'm more familiar with and watch at normal speed when the information is a bit more unclear. Thanks freeCodeCamp!

justincordero
Автор

Resume:
1) Encapsulation ----> Getters and setters
2) Abstraction --> We care about Interface. Not the implementation behind the hood.
3) Inheritance --> Extending classes... Access modifiers: public, private, modifier
4) Polymorphism --> Interface / Implements in Java ... Same methods' name, but different implementations of methods.

nicolahcm
Автор

I am having a job interview after 15 min.. good short refresh.. wish me luck

Update: I got the job ✌😃

ashrafbeshtawi
Автор

This is the best explanation I've been able to find. I was creating my own first OOP application and was struggling to see the difference between a class and an object. This explanation via chess makes it so obvious that I wonder why I didn't get it in the first place. It's al about the chess example and the way you explain it. You have great presentation and tutor skills. Now I just need to start my application from scratch again. Please could you also explain the several UML diagrams based on this chess example? That would be a great way to show everyone how you can design your application with OOP in mind before even starting to code. It would have prevented me from making a lot of beginners and obvious mistakes.

Vonaan
Автор

Notes:
Four OOP principles:

Encapsulation:
* Refers to bundling data with methods that can operate on that data within a class.
* It’s the idea of hiding data within a class, preventing anything outside that class directly interacting with it.
* Keeps the programmer in control of access to data.
* Prevents the programmer from ending up in any strange or unwanted states.

Abstraction:
* Refers to the idea to only showing essential details and keeping everything else hidden.
* The classes you create should act like your car. Users of your classes should not worry
about the inner details of those classes.
* This is very important when working on your program incrementally.

Inheritance:
* Is the principle that allows classes to derive from other classes.

Polymorphism:
* Describes methods that are able to take on many forms.
* Allows methods to take on many different forms.
* Be sure that you are calling the correct form of the method.
* There are two types of polymorphism:
** Dynamic polymorphism:
- Occurs during the runtime of the program.
- Describes when a method signature is in both subclass and a superclass.
- The methods share the same name but have different implementation.
- The implementation of the subclass that the object is an instance of
overrides that of the superclass.
** Static polymorphism:
- Occurs during compile-time rather than during runtime.
- Refers to when multiply methods with the same name but different arguments
are defined in the same class.
- The parameters are different type or taken in different order.
- This is known as method overloading.

oxanasf
Автор

This is by far best explanation of OOP I have ever heard, Thanks :)

SourabhBishnoi
Автор

I'm a complete beginner to programming and this is so well explained that even a illiterate like me can understand.

syedusamamanzoor
Автор

Thank you for sharing this video. I have watched multiple videos on this topic on YouTube and yours is hands down the best I have seen. I just watched it the third time and and comfortable with all the concepts.

mayukakat
Автор

Very articulate, practical, clear, insightful video!
Thanks so much!

Duck-jcox
Автор

I thought I would be studying the whole weekend for that Java class in which I'm totally lost... but in 30min at 1.25 speed I've gotten further than in several hours of regular lecture. Thank you for your clear explanation.

Lembdadelta
Автор

Wow, just wow. I already have a bit of experience with OOP, this video helps me to refresh my understanding of it in just 30 minutes. This is great, thanks for making this!

sesu
Автор

Wow! This is educational video making at it's finest. Near perfection. I'm sure many viewers have tried to get these concepts clear elsewhere, and will finally achieve clarity here, like I am doing now after code school plus 2 years working in the field.

TheTrace
Автор

I've been working for 13 years in the industry and have studied many courses, and this is still probably the best description I have ever heard! Thank you

DipaLoka
Автор

Thank you so much for explaining!! It was very clear for me. I hope there will be a similar introduction for Functional programming, and also the pros and cons between those 2 styles of programming.

ChewingGum
Автор

Love this guy's content and presentations. More please

tomhames
Автор

Extremely well-explained, I would love to watch more video like this one!

omarwaleed
Автор

Not being a professional, I always had a vague idea what OOP meant but would have been hard pressed to explain it to anyone. Thanks to your excellent video I finally had the "aha-moment". Thanks very much, Steven!

candleby
Автор

Thank you so much for this course! It's so pleasing to listen to :)

jameshansen
Автор

Such a good video!!! Helped me understand concepts that I'd tried to fully understand before, but couldn't! Thanks!

victoriateixeira
Автор

BYE I DONT UNDERSTAND THE CHESS EXAMPLE 😭

peachu