"An employee of a business is also a person" - that's a bold statement right there
@ComputerScienceLessons2 жыл бұрын
That's what I keep telling myself! :)KD
@beltusbenz6911 Жыл бұрын
exactly ! very outlandish .
@Wida85 Жыл бұрын
😂😂
@anointingdaniel216 Жыл бұрын
For real 🤣
@renren_27 Жыл бұрын
🤣🤣🤯
@laurastephenson5169 Жыл бұрын
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 Жыл бұрын
Delighted to help. Thank you :)KD
@MatthewTipton22 жыл бұрын
Absolutely brilliant. Simple, clear, concise. The whole concept in my mind started as a soft blur and sharpened to crystal clarity.
@trevoro.9731 Жыл бұрын
A lot of BS actually, the author didn't pay attention to correct definitions. But useful to find out common misconceptions.
@darianxd5508 Жыл бұрын
why is it BS?@@trevoro.9731
@notyournormaldev14192 жыл бұрын
The clarity and simplicity is unparalleled.
@ComputerScienceLessons2 жыл бұрын
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
@benediktkraas85762 жыл бұрын
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
@sandrakyoutube Жыл бұрын
Remarkable. Remarkable simplicity, clarity, and conciseness. Transformed my vague understanding into clarity without overwhelming me. Thank you!
@ComputerScienceLessons Жыл бұрын
You are most welcome. Thanks for the lovely comment :)KD
@toolittletoolate39172 жыл бұрын
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 Жыл бұрын
You can do (real) OOP in C, and do it better than in Java.
@Ahmad_Al-Deeb20 күн бұрын
"Encapsulation: Data and the programs that manipulate those data are bound together and *their complexity is hidden*." This part was useful since I thought encapsulation is just about bundling related properties & methods together and was missing the fact that it reduce complexity also by hiding data which is a little similar to Abstraction hiding implementation details. Thanks!
@ComputerScienceLessons20 күн бұрын
You're welcome. Glad to help :)KD
@hunterjiang58943 жыл бұрын
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!
@jex4400 Жыл бұрын
This channel is actually phenomenal it needs to be more popular
@ComputerScienceLessons Жыл бұрын
You are very kind :)KD
@robf56844 жыл бұрын
The clearest and simplest explanation of OOP I've ever seen. Many thanks.
@ComputerScienceLessons4 жыл бұрын
Thank you :)KD
@SosetaFurioasaJr3 жыл бұрын
I have finally found a concise, 1 line definition of polymorphism. Thank you very much, big thumbs up.
@rubykanima Жыл бұрын
better would be "A subclass can morph / change an inherited method"
@RVlDER3 жыл бұрын
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.
@ComputerScienceLessons3 жыл бұрын
I'm a great believer in keeping things as simple as possible. Delighted to help. :)KD
@marktahu29323 жыл бұрын
Wow - sometimes the algorithm really does turn up 'gems'. Many many thanks!! As a visual learner this 'gem' is invaluable.
@ComputerScienceLessons3 жыл бұрын
You're very kind. Thanks for the comment. :)KD
@NickHope3 жыл бұрын
This is excellent. Very clear and precise. I'm going to re-watch it a couple of times to really drive the concepts home.
@reenalupadhayay43152 жыл бұрын
Life saving explanation, better than having to sit through a 2 hour video to understand it. Brilliant!
@BrainConduit123 Жыл бұрын
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
@onyemanwokolo44111 ай бұрын
I keep coming back to this video. The OOP concepts are well explained in simplest and clearest way.
@ComputerScienceLessons10 ай бұрын
Delighted to help :)KD
@MisterRose9011 ай бұрын
Wow. Someone who could explain inheritance in an intuitive way. It actually makes a lot of sense.
@brayanrc44329 ай бұрын
The clearest and simplest explanation of OOP. Thanks!
@ComputerScienceLessons9 ай бұрын
You're welcome :)KD
@achtube853 жыл бұрын
This was a very clear and in-depth explanation. Thank you!
@ComputerScienceLessons3 жыл бұрын
Thank you. Much appreciated :)KD
@gianni4997 ай бұрын
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!
@ComputerScienceLessons7 ай бұрын
You are very welcome and thank you :)KD
@salehhassan60572 жыл бұрын
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
@ComputerScienceLessons2 жыл бұрын
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 Жыл бұрын
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.
@alm59662 жыл бұрын
Always good to get a refresher on what OOP is.
@alekseevegor5357 Жыл бұрын
I have spent several weeks trying to understand the professor till I found this 9 min video. Now I feel like I've been to the moon an back.
@lepidoptera9337 Жыл бұрын
You haven't been to the moon, yet. If you should ever try OOP in reality you will be disappointed though. It does not do any of the things it promises well. The problem lies in the fact that data dependencies in real world applications have a graph structure (a tree, if you are lucky). OOP is not very good at taking care of that and if you try to use inheritance, in particular, then you will find that you are hard-coding assumptions about that data dependency that may change during the evolution of your project, which will make frequent refactoring necessary. There are better ways of dealing with that problem. Try to learn to think about programs as state machines with as few distinct states as possible. Rather than encapsulating data, control state change. Each state change should be associated with a well defined change of the data. That way your data structures can change freely as the project matures, but the basic flow of the program (as seen by both the user and the programmer) stays the same.
@ComputerScienceLessons Жыл бұрын
I am delighted to help. You will hear a lot of negativity about OOP but please bear in mind that it aims to facilitate collaboration and scalability. :)KD
@lepidoptera9337 Жыл бұрын
@@ComputerScienceLessons What are you helping with here by distributing your ignorance about proper software engineering? ;-)
@darianasedkina6340 Жыл бұрын
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 Жыл бұрын
You are most welcome, and thank you :)KD
@freepboot412 Жыл бұрын
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
@firepower012 жыл бұрын
This is such a good channel for understanding computer science concepts, honestly just the best. Thank you!
@opethforlife Жыл бұрын
One of the few golden channels on KZbin.
@ComputerScienceLessons Жыл бұрын
You're very kind. Thanks :)KD
@deei51303 жыл бұрын
This was a very clear and understandable video. Thanks for that man. This channel needs more attention
@NorthernStrider2 жыл бұрын
If you sped up this video, then you are not worthy of the uploaders precious time. Thank you for the top notch explanation
@ComputerScienceLessons2 жыл бұрын
Thank you :)KD
@Amy-f3e6 ай бұрын
Wow this is the best explanation Ive seen!!! I have atechnical interview tomorrow and I only know data and sql and not much about OOP in debt. THANK YOU for this great educational content. Today they always jump to Python or the programming name directly, but I miss the real theory and thinking.
@ComputerScienceLessons6 ай бұрын
You are most welcome. I hope it all went well. Good luck :)KD
@ultraman69503 жыл бұрын
Hats off, sir. Thanks a lot for making this well-documented video about OOP.
@ComputerScienceLessons3 жыл бұрын
You are very welcome :)KD
@ivangutowski-smith6514 Жыл бұрын
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 Жыл бұрын
You are very welcome, and thank you :)KD
@MrDuzen123 жыл бұрын
This video needs more views! Great explanation of OOP.
@ComputerScienceLessons3 жыл бұрын
Thank you :)KD
@stupidfrog2 жыл бұрын
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.
@ComputerScienceLessons2 жыл бұрын
You are most welcome. Glad to help :)KD
@cherrynoize9 ай бұрын
It's been said, I know, but you're a really great instructor. Hope (for others) that you do this for a living.
@rehanshoaib16487 ай бұрын
The clearest and simplest explanation of OOP I've ever seen. Many thanks. (2)
@ComputerScienceLessons7 ай бұрын
You're very welcome. Thank you :)KD
@UTRG-UnderTheRain Жыл бұрын
This is one of the best explanations that I have come across as a new learner it's very well explained
@ComputerScienceLessons Жыл бұрын
Thank you :)KD
@hadiali52493 жыл бұрын
very clear, concise , precise and comprehensive video on OOP. thank you for the effort!
@ComputerScienceLessons3 жыл бұрын
You are very welcome - and thank you :)KD
@NormaNsNs Жыл бұрын
wow I ve been searching for this video the whole day !!! perfectly explained !
@STEMdecoded3 ай бұрын
excellent, could have never understood it so clearly in 9 minutes.
@shreyashkumarthakur3832 жыл бұрын
Best video I have seen till now. Attained full conceptual clarity
@techwithtee87212 жыл бұрын
Closest thing to understand Database management system
@igwe65472 жыл бұрын
Best OOP explanation, simple and straight forward
@ComputerScienceLessons2 жыл бұрын
Thank you :)KD
@Matt-iy2cf2 жыл бұрын
Wonderfully explained! Have not found a better explanation anywhere online!!!
@ComputerScienceLessons2 жыл бұрын
Thank you so much. :)KD
@patriotir2 жыл бұрын
This was the best explanation I have ever came across! great job and thanks for the video
@ComputerScienceLessons2 жыл бұрын
You are most welcome :)KD
@cd-stephen Жыл бұрын
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
@TexasEngineer2 жыл бұрын
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.
@bootcamprag2 жыл бұрын
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.
@phoga6463Ай бұрын
Thank you so much! This gets to the point, easy to understand while not oversimplifying it!
@ComputerScienceLessons26 күн бұрын
You are very welcome :)KD
@cbbcbb68038 ай бұрын
Great job! Thanks for saying what a class is really. The word template was close to meaningless to me. But saying that a class is "code written by a programmer" is far more precise and meaningful to me.
@granand2 жыл бұрын
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.
@ComputerScienceLessons2 жыл бұрын
You are most welcome. :)KD
@MrFroggster Жыл бұрын
Probably the best and easiest explanation. Thank you.
@zabinoori49 Жыл бұрын
The best video explains class and object instance creation in such best way (using graphical representation ).loved that 🤩
@ComputerScienceLessons Жыл бұрын
You are most welcome :)KD
@getTheSchmack2 жыл бұрын
Big W. You sir, are brilliant. Just look at how many people are heaping praise and all well-deserved. Thank you!
@ComputerScienceLessons2 жыл бұрын
You are very kind. Thank you. :)KD
@markyap47553 жыл бұрын
Thanks so much for a great video ! Helps us to relate and thus makes learning "enjoyable" Learning programming is my current "hobby". Thanks again !
@ComputerScienceLessons3 жыл бұрын
You are most welcome :)KD If you enjoy programming - have you seen my video on how to make a GeoGuessr type game? :)KD
@MichaelChin19942 жыл бұрын
5:51 "An Employee is *also* a person" The way this is said with such a straight face, I thought it was a set up for a joke, like: "An Employee is *also* a person, unless they work at a Law-Firm."
@densmac Жыл бұрын
10/10 in explaining OOP concepts.
@xx03_p192 жыл бұрын
Many experienced programmers even the very good ones can't really explain Polymorphism clearly! Thanks :)
@ComputerScienceLessons2 жыл бұрын
You are very welcome :)KD
@MiningForPies Жыл бұрын
I once was doing telephone interviews for senior developer positions at SAGE (the accounting software company). I asked the candidate if he could give me an explanation of what polymorphism was and an example of where he’d used it. He accused me of making the term up 🤔. “What the bloody hell is that” or words to that effect. He didn’t get invited to a face to face interview.
@Jack-xn5do Жыл бұрын
Studying for my CISSP and this helped me soo much! Thank you!
@manishmalhan9768 Жыл бұрын
Such Brevity and Clarity !!
@alakhdar100 Жыл бұрын
This is so clean and simple, yet informative, thank you so much, please keep uploading!
@TheMagicOwL1274 жыл бұрын
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!
@ComputerScienceLessons4 жыл бұрын
You are most welcome :)KD
@AdrianTregoning Жыл бұрын
SUCH a good video! Thank you. I wonder why it took me so long to find this channel.
@ComputerScienceLessons Жыл бұрын
Thank you so much :)KD
@maycodes3 жыл бұрын
What an amazing crystal clear explanation, got confused in university
@ComputerScienceLessons3 жыл бұрын
Thank so much you :)KD
@Wida85 Жыл бұрын
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
@nevillecreativitymentor Жыл бұрын
I picked a book on OOP 25 odd years back ... TODAY i understood the fundamentals LOL LOL ... thanks for the video ♥♥
@ComputerScienceLessons Жыл бұрын
Delegated to help, albeit a little late. You are most welcome. :)KD
@dr.SaurabhSingh.D Жыл бұрын
The clarity at its peak. 👌
@justincatterall9597 Жыл бұрын
*Now* I understand polymorphism. Thank you!
@ComputerScienceLessons Жыл бұрын
You're welcome :)KD
@Zeila12 жыл бұрын
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.
@ComputerScienceLessons2 жыл бұрын
That's great to here. Thanks for commenting. :)KD
@michaelcappello22542 жыл бұрын
Very clear explanation of the basics of OOP. Thank you.
@ComputerScienceLessons2 жыл бұрын
Thank you :)KD
@marcuss84543 жыл бұрын
And just like that, I subscribed to this channel for such a great explanation.
@michellemwangi39633 жыл бұрын
The entire series is really really good! very well explained. Thanks a lot
@lucasbozdog59226 ай бұрын
this is one of the best explanations i have seen thank you
@kopilkaiser89912 жыл бұрын
Thank you for your explaination. I've learnt quite a lot from watching your video. Keep up the good work in teaching beginners like me.
@ComputerScienceLessons2 жыл бұрын
Thank you :)KD
@velocitydelta3 жыл бұрын
This is a great video! My teacher shared it with us to revise the concepts we are learning currently in school!
@ComputerScienceLessons3 жыл бұрын
Thank you so much. I'll be on the curriculum next. :)KD
@TonyTigerTonyTiger2 жыл бұрын
The part on inheritance has some potential theoretical issues, but it is after all just an introduction. Generally speaking, inheritance should be used to model "is a special kind of" relationship, and should not be used to model as "is a role played by a" relationship. An employee is not a special type of person, it is a role played by a person. Same goes for Customer: that is not a special type of person, it is a role played by a person. For example, Alice could be an Employee of Walmart, but she could also shop there so could also be a Customer of Walmart. So if you are creating an object for Alice, would you create an instance of Employee or Customer? On the other hand, a dog "is a special kind of" animal, not a role played by an animal; and a fish "is a special kind of animal", not a role played by an animal. A dog cannot simultaneously be a fish, nor can a dog quit being a dog and become a fish; and a fish cannot simultaneously be a dog, nor can a fish quite being a fish and become a dog. So here inheritance does not suffer from the above problem. If you have a pet dog named Wolfy or Max, there is no ambiguity in what class you would use to create an instance for your pet: it would be a dog.
@ComputerScienceLessons2 жыл бұрын
I see what you mean. However, the context of the system you are designing is important. If for example I was building a payroll system, and Alice was an employee, it is probably neither here nor there if she is also a customer (staff discounts excepted). :)KD
@arahn4662 ай бұрын
"So if you are creating an object for Alice, would you create an instance of Employee or Customer?". what is the answer? u shouldn't create 2 instances should u?
@sargata3054 Жыл бұрын
This is such a clear and concise explanation. Thank you from a beginner dabbler in programming!
@andregrobler43932 жыл бұрын
Very concise and accurate. Most helpful, thanks.
@AndrewSinclair11 ай бұрын
Thanks.This is the best OO explanation ever.
@ComputerScienceLessons10 ай бұрын
You're very welcome. And thank you so much :)KD
@masterrov1030 Жыл бұрын
Thank you for teaching these basic pillars of OOP
@ComputerScienceLessons Жыл бұрын
You are most welcome :)KD
@ujjwalsingh89752 жыл бұрын
had so many doubts after my OOP class this cleared it all
@ComputerScienceLessons2 жыл бұрын
Delighted to help. :)KD
@xdebono7613 Жыл бұрын
Brilliant….. concise and awesome clarity….thank you
@ComputerScienceLessons Жыл бұрын
Thank you. You are are most welcome :)KD
@shivohamjagat2 жыл бұрын
One of the coolest videos I have ever watched
@showaibhaydar9590 Жыл бұрын
This is a super clear way of defining and demonstrating the concepts ! infinite Thanks ❤🔥
@ComputerScienceLessons Жыл бұрын
You are very welcome :)KD
@a-60harshalmaheshram302 жыл бұрын
This video cleared my most of the doubt , very great and deep explanation.
@emmamorris10922 жыл бұрын
massively useful definitions of OOP terminology - thanks!
@ComputerScienceLessons2 жыл бұрын
You're very welcome :)KD
@itorres008 Жыл бұрын
Amazingly succinct, clear and thorough!
@lepidoptera9337 Жыл бұрын
Yes, that was the academic's view on classes. What the academic doesn't tell you is what it means in practice. For one thing, your compiler removes any and all the class code and turns it into plain old subroutine calls anyway. This means that your classes are mostly documentation. They are not necessary and all of your hundreds or thousands of hours of work goes "poof" in a few seconds during one of the compiler passes. The second thing classes are, and this is way worse, are leashes. The architect is basically telling you through classes what you, the application programmer, can and can not do with the data that you are given. You start out with a Turing complete language and by reducing your data access through class methods the architect limits your work to something that is anything but complete. Ideally they want you to be helpless and caged in in the narrowest possible way. Why is that? Because they don't trust your creativity as a programmer. Creative problem solving is considered "error prone". What class hierarchies allow the architect to do is to say "The guy in cubicle one can only paint in red, the girl in cubicle 15 is only allowed to use two shades of green!". Is that the kind of job you want for the rest of your life? Or do you imagine that you will be happy as an architect who gets paid to put computational leashes on people? Is that the life you are dreaming of? And now the worst part... if the leashes are wrong, then everybody gets caught in them all the time. That's when the great refactoring starts. Refactoring... that means breaking a working system for the simple reason that the program documentation was wrong because the architect messed up during the first three weeks of the product development (which was eight years ago and done by a person who has long left the company...). :-) That is the actual reality of object oriented programming.
@taniatech_official9 ай бұрын
Simple and straight forward. Thanks a lot!
@ComputerScienceLessons9 ай бұрын
You're welcome, and thank you :)KD
@tuck295q2 жыл бұрын
This video is mad with super clear and simplistic yet uber effective explaination. xD
@ComputerScienceLessons2 жыл бұрын
Thank you :)KD
@CenturionVII4 жыл бұрын
Really upping the animation quality, very nice sir!
@ComputerScienceLessons4 жыл бұрын
Thanks for noticing. I was playing around with a very old version of Adobe Flash :)KD
@dimlavalentine32632 жыл бұрын
You are really a lecture with a unit voice. love this unlike your lectures on floating points
@larsAnder2 жыл бұрын
I like the interface you just briefly mentioned, you just don't know how much that clued me in.😁
@johnjacobjinglehimerschmid35552 жыл бұрын
Why this one's understandable I'm not sure. But over the many years of listening to vlogs on OOP .... this one seems to make the most ( simple ) understanding for me.
@ComputerScienceLessons2 жыл бұрын
As a teacher, that's music to my ears. :)KD
@brandonwilcox33072 жыл бұрын
Clear, concise, and informative. Thanks!
@bryanpepe2395 Жыл бұрын
Amazing explanation. Good job!
@ComputerScienceLessons Жыл бұрын
Thank you :)KD
@exoticme47603 жыл бұрын
This was a very very very good video. Thank you so much ! I hope my interview goes well :)
@ComputerScienceLessons3 жыл бұрын
You are very welcome. Best of luck. :)KD
@exoticme47603 жыл бұрын
@@ComputerScienceLessons thank you 💗
@TreyHope Жыл бұрын
Very solid explanation, perfect breakdown. Thank you for sharing.