Fundamental Concepts of Object Oriented Programming
This video reviews the fundamental concepts of Object Oriented Programming (OOP), namely:
Abstraction, which means to simplify reality and focus only on the data and processes that are relevant to the application being built; Encapsulation meaning that data and the programs that manipulate those data are bound together and their complexity is hidden. Encapsulation is often achieved by means of class libraries (dynamic link libraries, or DLLs); Inheritance which allows a class to derive its methods and properties from another class. Inheritance might be used to define an extensive hierarchy of super classes and subclasses; Polymorphism meaning different subclasses of the same superclass, which therefore share the same interface, can implement those interfaces in their own ways. Polymorphism is implemented when classes override the code of the methods they inherit. The video also reviews the relationship between objects, otherwise known as entities, and classes, which are the code used to create objects.
Chapters:
00:00 What is an object?
01:02 Abstraction
01:38 Objects from a class
03:43 Encapsulation
05:28 Inheritance
07:11 Polymorphism
08:18 Summary of OOP concepts
Пікірлер: 545
"An employee of a business is also a person" - that's a bold statement right there
@ComputerScienceLessons
Жыл бұрын
That's what I keep telling myself! :)KD
@beltusbenz6911
Жыл бұрын
exactly ! very outlandish .
@wisdomdavid8593
Жыл бұрын
😂😂
@anointingdaniel216
Жыл бұрын
For real 🤣
@renren_27
Жыл бұрын
🤣🤣🤯
I'm a university professor myself, and I have to say that is the most crystal clear, explanation I've ever seen for computer science concepts.
@ComputerScienceLessons
5 ай бұрын
Delighted to help. Thank you :)KD
Absolutely brilliant. Simple, clear, concise. The whole concept in my mind started as a soft blur and sharpened to crystal clarity.
@trevoro.9731
11 ай бұрын
A lot of BS actually, the author didn't pay attention to correct definitions. But useful to find out common misconceptions.
@darianxd5508
5 ай бұрын
why is it BS?@@trevoro.9731
The clearest and simplest explanation of OOP I've ever seen. Many thanks.
@ComputerScienceLessons
2 жыл бұрын
You're very welcome. Thank you :)KD
@DailyWord3832
Жыл бұрын
Any one who has the OOSAD project?
The clarity and simplicity is unparalleled.
@ComputerScienceLessons
Жыл бұрын
Thank you :)KD
@SithLord2066
Жыл бұрын
So you're saying it's serial? Since it's not parallel
@notyournormaldev1419
Жыл бұрын
@@SithLord2066 lame.
@SithLord2066
Жыл бұрын
@@notyournormaldev1419 I'll be here all week
Probably the most useful 10 min of learning OOP so far. I never really understood those 4 principles and now they seem a) sorta easy (both to use and memorize) and b) I was already applying some of them without knowing. Amazing! Thank you kindly
This is excellent. Very clear and precise. I'm going to re-watch it a couple of times to really drive the concepts home.
This was a very clear and understandable video. Thanks for that man. This channel needs more attention
This video is the most helpful and concise one I 've ever seen so far among those about the fundamental terms and concepts. Thanks a lot!
Life saving explanation, better than having to sit through a 2 hour video to understand it. Brilliant!
Always good to get a refresher on what OOP is.
This is such a good channel for understanding computer science concepts, honestly just the best. Thank you!
I learned OOP from a video that Philippe Kahn made about the subject when Borland’s Turbo Pascal first introduced this new way of programming. It took awhile to understand and master the concepts, but after that, I absolutely loved it and it made large, complicated projects so much more manageable. The ability to start with a base class and do inheritance was extremely powerful. It literally enabled us to program our products in a fraction of the time and with fewer programmers than the old spaghetti code ways of coding.
@ComputerScienceLessons
Жыл бұрын
I agree. It's a great way to manage large projects. I worked for a number of years in software development (albeit as an educator) and OOP allowed hundreds of developers, in different parts of the world, with a range of skills, to work together effectively on very complex applications. :)KD
Great breakdown/explanation of the OOP concept. OOP is one of my favorite areas in computer science/programming applications. Its not as an intimidating as it sounds. Next: I would love to see a short video on the application of these four OOP constructs in terms of their application; write a simple program that demonstrates each of the four areas. Thanks.
Will add to the pile of positive comments here and say this is the most concise, informative, and accessible video on the subject I've seen. great work
Wow. Someone who could explain inheritance in an intuitive way. It actually makes a lot of sense.
This is so clean and simple, yet informative, thank you so much, please keep uploading!
I'm very very impressed. I'm not a strict Java begineer, but I did need to find videos/resources to understand these OOP concepts better. I had watched already 5-10 sources, but yours is just the most clear. Concise, and clear. Very impressive. Thanks!
@ComputerScienceLessons
13 күн бұрын
You are very welcome and thank you :)KD
The entire series is really really good! very well explained. Thanks a lot
OOP was THE hot topic when I was a developer. Took me a little study to understand its foundational concepts. I couldn’t understand why everyone seemed to think that it was THE way to create programs. Sanity eventually prevailed, as it usually does, and it certainly has its place, but if your design does not utilize inheritance and polymorphism, then use another language type. Don’t force a particular model into an OOP design just because your CompSci instructor loved Java.
@SnakeEngine
8 ай бұрын
You can do (real) OOP in C, and do it better than in Java.
Remarkable. Remarkable simplicity, clarity, and conciseness. Transformed my vague understanding into clarity without overwhelming me. Thank you!
@ComputerScienceLessons
11 ай бұрын
You are most welcome. Thanks for the lovely comment :)KD
I have finally found a concise, 1 line definition of polymorphism. Thank you very much, big thumbs up.
@rubykanima
7 ай бұрын
better would be "A subclass can morph / change an inherited method"
Clear, concise, and informative. Thanks!
I keep coming back to this video. The OOP concepts are well explained in simplest and clearest way.
@ComputerScienceLessons
4 ай бұрын
Delighted to help :)KD
Finally a concise and clear explanation about these fundamentals. The amount of interchangeable terms (that still have different meaning(s) under certain context's) is ridiculous - and near impossible to find a video/documentation that explains them without convolution.
@ComputerScienceLessons
2 жыл бұрын
I'm a great believer in keeping things as simple as possible. Delighted to help. :)KD
Wow - sometimes the algorithm really does turn up 'gems'. Many many thanks!! As a visual learner this 'gem' is invaluable.
@ComputerScienceLessons
3 жыл бұрын
You're very kind. Thanks for the comment. :)KD
This is a new concept fo me and I've watched about a dozen of videos but should have started with this one. The clarity and simplicity of the explanation are unmatched. Thank you!
@ComputerScienceLessons
10 ай бұрын
You are most welcome, and thank you :)KD
This was a very clear and in-depth explanation. Thank you!
@ComputerScienceLessons
3 жыл бұрын
Thank you. Much appreciated :)KD
Thank you for this clear and simple explanation. Appreciate the graphics and effort, because of this I subscribed to your channel. More power to your KZread channel. :)
Very concise and accurate. Most helpful, thanks.
Amazingly succinct, clear and thorough!
Very nicely explained with real-time example. Loved it.
Hats off, sir. Thanks a lot for making this well-documented video about OOP.
@ComputerScienceLessons
2 жыл бұрын
You are very welcome :)KD
Probably the best and easiest explanation. Thank you.
amazing summary of concepts. very well done!
wow! what a delivery! 👏👏👏 The contents are no less laudable. Thank you so much.
As clear as crystal. Thank you!
The clearest and simplest explanation of OOP. Thanks!
@ComputerScienceLessons
2 ай бұрын
You're welcome :)KD
Thank you for sharing us with such a valuable information!
This is such a clear and concise explanation. Thank you from a beginner dabbler in programming!
Studying for my CISSP and this helped me soo much! Thank you!
Thank you, I have watched this video about 5 times over the last week, every time... I grasp the concept you are talking about a little more, and then understand another smaller detail you mention. I really, really like that whilst explaining, you animate very clear, sensible, logical examples as you go, so I can see what you mean as you are explaining it. I still need to watch it many more times fully, but it is clever, logical, makes sense and is super interesting. Thank you for taking all the time to put this together.. your time a few years ago, has helped nearly half a million people... or if like me.. helped 100k people 5x. ha ha
@ComputerScienceLessons
11 ай бұрын
You are very welcome, and thank you :)KD
This channel is actually phenomenal it needs to be more popular
@ComputerScienceLessons
11 ай бұрын
You are very kind :)KD
And just like that, I subscribed to this channel for such a great explanation.
Such Brevity and Clarity !!
very clear, concise , precise and comprehensive video on OOP. thank you for the effort!
@ComputerScienceLessons
2 жыл бұрын
You are very welcome - and thank you :)KD
The clarity at its peak. 👌
Big W. You sir, are brilliant. Just look at how many people are heaping praise and all well-deserved. Thank you!
@ComputerScienceLessons
Жыл бұрын
You are very kind. Thank you. :)KD
Simple and fantastic explanation. Thank you.
Thank you so much, this was very helpful! My professor and textbook did such a poor job of explaining these basics that I felt like I was falling behind.
@ComputerScienceLessons
2 жыл бұрын
You are most welcome. Glad to help :)KD
Best video I have seen till now. Attained full conceptual clarity
wow I ve been searching for this video the whole day !!! perfectly explained !
SUCH a good video! Thank you. I wonder why it took me so long to find this channel.
@ComputerScienceLessons
11 ай бұрын
Thank you so much :)KD
This video needs more views! Great explanation of OOP.
@ComputerScienceLessons
2 жыл бұрын
Thank you :)KD
this has been the best video i have ever seen - great analogies and loved how you included all the different terms used to describe the same thing - new sub
@ComputerScienceLessons
Жыл бұрын
Thank you :)KD
I have seen many as I keep forgetting it but this stands out. Thank you for the creators and the presenter such a clarity and use of just enough visuals. Esp the take away is synonyms which are used, that trips me, After this hopefully not anymore.
@ComputerScienceLessons
Жыл бұрын
You are most welcome. :)KD
Simple and straight forward. Thanks a lot!
@ComputerScienceLessons
2 ай бұрын
You're welcome, and thank you :)KD
Thanks so much for a great video ! Helps us to relate and thus makes learning "enjoyable" Learning programming is my current "hobby". Thanks again !
@ComputerScienceLessons
2 жыл бұрын
You are most welcome :)KD If you enjoy programming - have you seen my video on how to make a GeoGuessr type game? :)KD
It's been said, I know, but you're a really great instructor. Hope (for others) that you do this for a living.
Fantastic explanation extremely on point. Thanks
This video cleared my most of the doubt , very great and deep explanation.
You had a very clear and nice way to describe those concepts. But in my opinion, Polymorphism is much more than just the ability to override a method from a super class. Polymorphism is the ability of an object to take on many forms. Thanks for a great video
@ComputerScienceLessons
2 жыл бұрын
You welcome. Polymorphism catches a lot of people out - so I wanted to keep it very simple for now. One day I will come up with some other examples which make the point that it does indeed literally mean 'many forms' :)KD
@doughoffman9463
6 ай бұрын
Yes. The video leads one to believe that polymorphism is only used in subclasses to override superclass methods. Duck typing (not always available, depends on the language) is the more general and useful case where the same message name can be used in classes that have no common superclass.
Thanks for the great review material!
@ComputerScienceLessons
2 ай бұрын
You're welcome :)KD
I like the interface you just briefly mentioned, you just don't know how much that clued me in.😁
Closest thing to understand Database management system
crystal clear,and thank you
massively useful definitions of OOP terminology - thanks!
@ComputerScienceLessons
Жыл бұрын
You're very welcome :)KD
that was bloody fanatic mate cheers for that
@ComputerScienceLessons
2 жыл бұрын
You're welcome :)KD
i wish i watched this at the start of my OOP subject, the way you explained it made it so much easier to understand, the examples you used and visual effects really helped also. edit: I also remember watching your Dijkstra's Shortest path video back in highschool, that was also amazing.
@ComputerScienceLessons
Жыл бұрын
That's great to here. Thanks for commenting. :)KD
One of the coolest videos I have ever watched
the best video about his subject!
Best OOP explanation, simple and straight forward
@ComputerScienceLessons
Жыл бұрын
Thank you :)KD
Thank you for your brilliant explaination. I now know why OOP does not work for my type of programming. I deal with mathematical processes and not objects. Data goes in, formulas are applied, results come out, results are stored or presented. OOP fits database problems. My programming fit the chsos of a spreadsheet.
Loved the video and how you emphasize different key words, keep the great work!
@ComputerScienceLessons
2 жыл бұрын
Thank you. The animations took ages :)KD
The clearest and simplest explanation of OOP I've ever seen. Many thanks. (2)
@ComputerScienceLessons
13 күн бұрын
You're very welcome. Thank you :)KD
Very good explanation, thank you. I have been enlightened
Great explanations, would be great if there would be some code examples as well 👍
Wonderfully explained! Have not found a better explanation anywhere online!!!
@ComputerScienceLessons
Жыл бұрын
Thank you so much. :)KD
This was the best explanation I have ever came across! great job and thanks for the video
@ComputerScienceLessons
Жыл бұрын
You are most welcome :)KD
Thank you!!
Thanks.This is the best OO explanation ever.
@ComputerScienceLessons
4 ай бұрын
You're very welcome. And thank you so much :)KD
Very clear description! Worth pointing out that there is more to OOP than just class-based programming. As a developer with some experiences I feel that there is too much focus on classes rather than objects and how they interact.
@Regr310
10 ай бұрын
Hi, I just started learning to code in java, I've learned up the basic syntax, now learning the OOP concepts. Can you elaborate on your point? I myself thought OOP is only about creating classes and objects associate with them. .
@marna_li
10 ай бұрын
@@Regr310 It is about how to using the OOP tools to model behavior and data in the forms of objects interacting withe each other - where the classes are templates for objects. This is often overlooked in any basic programming course which teaches you the language and not the paradigm or software modeling.
Very clear explanation of the basics of OOP. Thank you.
@ComputerScienceLessons
Жыл бұрын
Thank you :)KD
Surprisingly clear and succinct, thanks for clearing this up 🤝. Please do keep up the good work 🙂.
@ComputerScienceLessons
Жыл бұрын
You are most welcome and thank you :)KD
Nice presentation 👌🏻
so clear, and easy to understand, thanks great job
@ComputerScienceLessons
Жыл бұрын
You're welcome. And thank you :)KD
Thank you for teaching these basic pillars of OOP
@ComputerScienceLessons
5 ай бұрын
You are most welcome :)KD
This is a super clear way of defining and demonstrating the concepts ! infinite Thanks ❤🔥
@ComputerScienceLessons
Жыл бұрын
You are very welcome :)KD
I'm so glad I found this channel, i was just thinking i should get more into programming in my free time. thanks it was super easy to follow!
@ComputerScienceLessons
3 жыл бұрын
You are most welcome :)KD
You are really a lecture with a unit voice. love this unlike your lectures on floating points
Superb. Thanks.
10/10 in explaining OOP concepts.
Thank you so much. Several videos and yours nailed it
@ComputerScienceLessons
Жыл бұрын
You are very welcome. Thanks for the kind comment :)KD
Very solid explanation, perfect breakdown. Thank you for sharing.
@ComputerScienceLessons
Жыл бұрын
You are very welcome. Thank you :)KD
Sweat and simple. Thanks.
@lepidoptera9337
Жыл бұрын
Yes, also trivializing. None of the OOP explanations on KZread tell you what you are really doing when you are doing THIS.
Sir kindly make videos on all subjects of Computer Sci.Specialy on OOP,s concepts,Computer Architecture and On Operating system.Sir your teaching method is owasame.....you cleared my all doubts related to opp,s basic concepts.Thanks
Awsome explanation...
Excellent 🎉
What a great video !
Great video!