I take your point, though having `extends` as a first-class language feature surely encouraged that culture and approach in older frameworks right?
The main reason I see new devs opt for extends, is because that was 99% of the content in their Java 101 programming course, not because it exists in the language. Imagine how many more `friend`s we would have in cpp if that was crammed down everyone's throats? :)