Valamelyik blog posztban merészeltem megkérdezni, hogy miért is jó, ha interface-t használnak abstract class helyett, mire a kedves szerző amolyan mucsai paraszt stílusban elküldött, hogy nyissak neki saját topic-ot.
O.K., itt van (őt meg külön megkérem, hogy tartsa távol magát ettől a topic-tól :D)
Naszóval... nem tudom, mely nyelvekben van mindkettő, melyekben nincs egyik sem, Pythonról tudom egyedül, hogy az utóbbi kategória.
Amelyik nyelvben van mindkettő, azokban miért nem elég csak az abstract class?
Valaki korábban felvetette, hogy nincs minden nyelvben többszörös öröklődés, ezt helyettesítik az interface-ekkel, ez eddig rendben van, ez egy elfogadható indok. Eset kipipálva.
Viszont kérdés, hogy én emlékszem rosszul vagy tényleg van olyan nyelv, amiben van mindkettő és van többszörös öröklődés is? Előbbi esetben a topic értelmét vesztette, a válasz megvan, utóbbiban viszont marad a kérdés, mire jó ilyen esetben az interface?
Az ilyenek, mint https://en.wikipedia.org/wiki/Multiple_inheritance#The_diamond_problem - ha jól értem a leírását, ugyanúgy érvényesek akkor is, ha interface-t használunk, ami tudtommal annyiban különbözik az abstract class-tól, hogy egyetlen metódusa sincs implementálva.