Lecture 7: Object-Oriented Programming in Kotlin

This lecture builds on the previous lecture, considering how inheritance works in Kotlin. It notes a key difference with Java, namely that Kotlin classes must be opened explicitly for extension, and that permission must be granted explicitly to override a method or property. It finishes with a look at how abstract classes and interfaces are defined and used in Kotlin.