The goal of this tutorial is to introduce you to Object-Oriented Programming practices. We will talk about: inheritance, composition and interfaces.
The objective of this course is to teach you implementation. More specifically, sharing common functionalities between classes. In this tutorial, you’ll learn not only how to implement a functionality but also why and when it should be implemented. After this tutorial, you should be able to create functionality that is scalable, easy to upgrade, and does not significantly impact existing functionalities. This tutorial places strong emphasis on theory.
https://dev.epicgames.com/community/learning/tutorials/kBj8/unreal-engine-blueprints-best-practices-inheritance-composition-using-components-and-interfaces