( utpKabel | 2011. 03. 29., k – 22:14 )

"Rendes OO nyelvben meg mindkettő van"
Ez elég dogmatikusan hangzik. Mi számít a rendes OO nyelvnek? A ma elterjedt OO megközelítés lényegében a Simulában jelent meg, aminek az OO fogalomkészletét Stroustrup ráhegesztette a C-re, lerakva ezzel a C++ alapjait. Aztán a C++ alkalmazásfejlesztésre lecsupaszított változata lett a Java, és újabban minden nyelvnek muszáj OO-nak lennie, és jobbára ugyanezt a Simulától örökölt fogalomkészletet használják.

De talán félreérted a dolgot. Hint: beágyazás != tartalmazás.

"Átnevezed a metódust az interfaceben és nem lesz fordítási hiba."
Lesz fordítási hiba, csak máshol. Nem ott, ahol az osztályt implementálod, hanem ott, ahol megpróbálod az osztály egy példányát (implicit módon) castolni az interface típusára.