Object Oriented Analysis and Design


Object Oriented Principles | Abstraction

In this video, you will learn everything you wanted to learn about Abstraction. Abstraction is explained with real-life examples, followed by what is binding, scope and memory management. Every concept is explained with an example C+ code. Relevant interview questions are covered with each topic. Interview questions and their answers are discussed in next episode.


Object Oriented Principles | Abstraction | Interview Questions | C++

In this video, you will learn everything you wanted to learn about Abstraction. Abstraction is explained with real-life examples, followed by what is binding, scope and memory management. Every concept is explained with an example C+ code. Relevant interview questions are covered with each topic. Interview questions and their answers are discussed in next episode.

Interview questions:

  • What are identifiers examples?
  • What is the size of the class, the object and pointer object?
  • Do you consider Arrays, Lists, Maps, Trees, and Priority Queues as ADTs?
  • What is the scope?
  • What is a namespace and provide an example?

Object Oriented Principles | Encapsulation

Object Oriented Analysis and Design Core Topic Encapsulation Are Explained With C++ Coding Examples. Definition of encapsulation and why we use need it with OOAD. There are two examples provided as simple to complex stacking examples. By the end of this video, you will master the encapsulation concept and learn to code. Encapsulation is the foundation of understanding any object-oriented language. Class UML diagram is shown. The importance of the header file is also explained. You will understand the nuances of consuming third-party libraries and writing one third-party library and providing it as a service.


Object Oriented Principles | Inline-Functions | Macros

In this video, we'll look at inline functions, and #define macros. We'll also be covering OOAD and C++. If you're looking to improve your programming skills, this is a video you don't want to miss! In this episode, we'll look at inline functions and #define macros. We'll also be discussing object-oriented analysis and design, encapsulation, and improving application performance. Make sure to subscribe to our channel for more exciting programming tutorials like this!

  • Inline functions are faster than regular functions.
  • The compiler has the liberty to decide whether it can be treated as inline.
  • Prefer inline functions over macros.
  • The scope of the macros is the global scope, whereas inline functions maintain the encapsulation.
  • C++ compilers have evolved to throw any #define evaluation errors.
  • C++ compiler assesses the cost-effectiveness of the inline functions and then decides whether to honour it.
  • Constructors and destructors are inline by default.

Object Oriented Principles | Inheritance

In this Inheritance Intro with Code Video, we will explore the C++ Inheritance concept and give some inheritance coding examples. We will also discuss OOAD (Object-Oriented Analysis and Design), OOPS , and Polymorphism. In the final section of the video, we will explain how to implement code reuse and why it is so important. Inheritance is an essential topic for C++ developers, and this video will help you understand the concept better. Watch and learn how inheritance can create more concise and organized code! Inheritance is explained with real-life examples. Inheritance definitions with base and derived classes are demonstrated with diagrams. Example of base and derived classes along with the code walk-through. By the end of the video, you would be able to:

Interview questions:

  • Define Inheritance
  • Benefits of Inheritance
  • Types of Inheritance
  • How to write code using C++
  • Sizes of base and derived classes.

Pass by value | Pass by Reference

In this episode of Pass by Value and Pass by Reference, we will look at two ways to pass data between methods in C++ code. First, we'll be looking at pass-by value. Next, we'll be looking at pass-by reference. Pass by value is passing a copy of the data between methods. This is useful if we don't want the original data to be modified called functions. Pass by reference is when we pass a reference to the data. This means that the original data could have been modified after the method call was done. Both of these techniques have their own advantages and disadvantages. With pass-by value, we can avoid some of the problems that can come with passing data by reference. But, In the pass-by value, a local data object is created as a copy of the actual parameter. Pass by reference does not create a local data object for the actual parameter. Instead, a reference to the actual parameter is passed to the procedure when it is called, and it works with the actual parameter. C++ language offers complete flexibility so that programmers can use both capabilities as and when they need them. If you're new to programming or object-oriented programming, this video is a great place to start. By the end of this video, you'll be able to understand the difference between pass-by value and pass-by reference, and apply the concepts to your own C++ code. Thanks for watching!


OOAD | What is Aggregation or Object Composition

Object composition is a way of creating new objects by combining existing objects. It's a form of code reuse since you can use existing code to create new functionality. This can be a great way to simplify and make your code more flexible. The contained object is often called a "nested" object. This relationship is sometimes called a "has-a" relationship. One of the main advantages of object composition is code reuse. By creating objects of your current class inside the new class, you can avoid having to write duplicate code. This can lead to significant savings in development time and effort. In summary, object composition is a powerful technique that offers many benefits, including code reuse, simplicity, and flexibility. If you're looking for a way to improve your software development process, consider using object composition in your next project.


OOAD | Templates | Generic Programming C++

Templates are a feature of the C++ programming language that allows functions and classes to operate with generic types. They allow a function or class to work on many different data types without being rewritten for each one. While using a template in C++, you pass a data type as a parameter. Thus, instead of maintaining multiple codes, you have to write one code and give the data type you want to use. The templates in C++ are expanded during compile-time. The type checking in C++ templates is done before template expansion. This allows the compiled code to have multiple copies of the same class. The advantages of templates are they are type-safe and can avoid some common errors found in code that make heavy use of function-like macros.