Java JDK veya diger OOP kod yazdigimizda genelde Interface, AbstactClass, DefaultImplementation ve ondan tureyen alt siniflariniz olur ve bu hiyerarsiyi JDK kutuphane ve uygulamalarda da görebilirsiniz.
React icin ornegin Facebook Class Component yazilirken sadece bir seviye extends kullanilan siniflar varmis... Yani bunu limitli kullanmislar.. Sonra Hooks ve Functionlar geri dönüldü
TypeScript daha esnek bir yapıya sahip. Örneğin hem OOP , hemde FP özelliklerini taşıyor..
Özetle OOP yazarken Inheritance olabildiğince kacının sadece Interface buna dahil tutmuyorum , cunku kod ve logic paylasımı saglamıyor, logic önünde bir soyutlama katmanı sunuyor, C/C++ header gibi...