EmbeddedRelated.com
Blogs

Embedded Programming Video Course Shows How OOP Works Under the Hood

Miro SamekSeptember 29, 2019

If you'd like to understand how Object-Oriented Programming (OOP) really works under the hood, here is a free video course for you:

OOP part-1: Encapsulation: This first lesson on Object-Oriented Programming (OOP) introduces the concept of Encapsulation, which is the ability to package data and functions together into classes. You'll see how you can emulate Encapsulation in C, what kind of code is generated, and how to debug such code. Next, you will translate the C design into C++ using a class and again you inspect the generated code to compare it with C. Finally, you will see how Encapsulation relates to concurrent programming with an RTOS.




OOP part-2: Inheritance: This second lesson on Object-Oriented Programming (OOP) introduces the concept of Inheritance, which is a mechanism for reusing common attributes and operations among classes. You'll see how you can emulate Iheritance in C, what kind of code is generated, and how to debug such code. Next, you will translate the C design into C++ using a class and again you inspect the generated code to compare it with C. Finally, you will see how to *think* about inheritance and not to confuse it with class composition.

This article is available in PDF format for easy printing



OOP part-3: Polymorphism in C++: This third lesson on Object-Oriented Programming (OOP) introduces the concept of Polymorphism, which is a uniquely object-oriented concept that has no direct analog in a traditional procedural language like C. Therefore the plan for this lesson is reversed compared to previous two lessons in that you will first see what poloymorphism is and you will reverse-engineer its inner workins in C++. You will see the benefits of polymorphism and understand its overheads. You will put this knowledge to the test in the next lesson, where you will implement polymorphism in C.




To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.

Please login (on the right) if you already have an account on this platform.

Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: