( jokeman | 2022. 04. 21., cs – 23:14 )

A tisztan OO Java az, ahol kenyelmes, hogy van egy Object osztaly, amibol minden szarmazik.

Kivéve a primitív típusok (int, boolean stb.), amik miatt nem is szokás a Javát "tisztán OO"-nak tekinteni. :) (Egyébként a static metódusok sem igazán "tisztán OO" konstrukciók, de ebbe a nyelvi "workaroundba" ritkábban szokás belekötni ebből a szempontból, pláne, ha nagyon akarjuk, akkor be lehet erőszakolni őket a modellbe, csak épp számos alapelvet sértenek.)

Leszarmazottat ugye hasznalhatsz barhol az os helyett, emiatt jo, ha van ilyen hierarchia (ami Java eseten fa, mert nincs tobbszoros orokles).

Azért ebbe a zárójeles részbe az interface-ek default metódusai Java 8 óta egy picit belepiszkálnak, azóta lehet "többszörös öröklés" implementáció tekintetében is, és okozhat is gondot (aminek a feloldása programozói feladat). Előtte csak "interfész" vagy másnéven "típus" tekintetében volt erre lehetőség.

 

A pythonhoz nem igazán értek, bár amit leírtál, az a "duck typing" tankönyvi példája. :)