Diskuze: Diamond problem - vysvětlení o co přesně jde

Java Java Diamond problem - vysvětlení o co přesně jde

Avatar
Lu Kiss
Člen
Avatar
Lu Kiss:

Ahoj, při zkoumaní rozdílů mezi interfacem a abstraktní třídou jsem narazil na to, že interface nemůže mít instanční proměnně a s tím souvisí diamond problem. Pořád však ale nechápu o čem tento problém je. Pochopil jsem jenom že pokud existuje třída D která implementuje rozhraní B a C, které implemenují A, a v každém rozhraní bude nějaká metoda, tak při volání této metody ve třídě D nebude jasné odkud se má zavolat z A, B nebo C.
Děkuji.

 
Odpovědět 13.4.2015 15:40
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na Lu Kiss
Hartrik:

Pokud mají metody stejnou signaturu, tak se v konkrétní třídě implementují pouze jednou. Diamond problem nastává u defaultních metod (Java 8 ), zde je nutné implementovat danou metodu znovu.

Editováno 13.4.2015 16:20
 
Nahoru Odpovědět  +1 13.4.2015 16:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.