Advanced OOP: inheritance and polymorphism
In this section, we will further extend our knowledge of OOP by looking at the slightly more advanced concepts of inheritance and polymorphism. We will then be able to use this new knowledge to implement the game objects and components of our game.
Inheritance
We have already seen how we can use other people’s hard work by instantiating objects from the classes of the SFML library. But this whole OOP thing goes even further than that.
What if there is a class that has loads of useful functionality in it, but is not quite what we want? In this situation, we can inherit from the other class. Just like it sounds, inheritance means we can harness all the features and benefits of other people’s classes, including the encapsulation, while further refining or extending the code specifically to our situation. In this project, we will inherit from and extend some of our own classes.
Let’s look at some code that...