Using inheritance with open classes
Some terminology that would be useful to learn at this point is that the class that is inherited from is known as the super or base class. Other common ways to refer to this relationship is parent and child class. The child class inherits from the parent class.
By default, a class cannot be inherited from. It is called a final class – not open for extending or inheriting from. It is very straightforward, however, to change a class so it can be inherited from. All we need to do is add the open
keyword to the class declaration.
Basic inheritance examples
Look at this next code, which uses the open
keyword with the class declaration and enables the class to be inherited from:
open class Soldier() { fun shoot () { Log.i("Action","Bang bang bang") } }
Note
All the examples from this chapter can be found as completed classes in the Chapter11/Chapter Examples
folder.
We can now go ahead and create objects of the Soldier
type and call the shoot
function...