Cannot understand this type of inheritance

I came across the following code from this article:

“`kotlin class ExampleFragment : Fragment(), ViewBindingHolder<FragmentExampleBinding> by ViewBindingHolderImpl() {

override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? = initBinding(FragmentExampleBinding.inflate(layoutInflater), this) { 

This maybe android code, but please am more interested in the kotlin concepts behind this kind of inheritance. ViewbindingHolderis an interface andViewBindingHolderImpl()is a class that has theViewbindingHolderinterface implemented. So how are they related toExampleFragment`? In java all we have is some interface and a class implementing that interface. what is this, some class implementing an interface and providing it to other class?

submitted by /u/appdevtools
[link] [comments]