Iskreno, nisam nikad na apstraktne klase gledao kao na mehanizam za puko zadovoljenje kompajlera u ovakvim slučajevima, već više kao na pogodnost koja omogućava da se konstrukt "implemetnts Interface, extends Base" svede na "extends AbstractBase".
A što se tiče tvog primera, ako se ne varam, ni u Javi ti ne treba apstraktna roditeljska klasa, tj. dovoljno je da ona postoji, ne mora da bude apstraktna, i to će da radi, i kompajler se neće buniti, sve dok obe klase koje je nasleđuju sadrže potrebne metode. A ako hoćeš da se zaštitiš od "zloupotreba" tipa prosleđivanje ovoj QuackAndFly() f-ji objekta koji nema neki od potrebnih metoda, e tu u jednačinu ubacuješ apstraktnu klasu, i tu onda nema veze da li je jezik statički ili dinamički, i za jedne i za druge važi isto - moraju da implementiraju sve metode...
__________________
We professional we dealin' with business
|