Hirdetés
Új hozzászólás Aktív témák
-
thon73
tag
válasz
WonderCSabo
#1442
üzenetére
Akkor csak a tanulság kedvéért. Vigyázat mindenki csukja be a szemét, hibás kód következik!
public ABSTRACT class A extends ListFragment {
public STATIC ListFragment newInstance() {
return new ??getClass??();
}
}
public class B extends A {
}
public class C extends A {
}Az ötlet az volt, hogy B.newInstance() létrehoz egy B példányt, melyet ListFragment-ként visszaad, míg C.newInstance() létrehoz egy C példányt, melyet szintén ListFragmentként ad vissza.
Ha a tényleges példány csak az abstract, mint minta alapján jönne létre, akkor a kérdőjeles rész mindig a példány osztálya lenne. De persze ez nem működik, legalábbis a static metódusban nincs ilyen hivatkozás. Nem staticban egyébként a this így működik, mentségemre legyen mondva.Utólag látom, hogy az egész hibás ötlet volt. (Tegyük még hozzá: newInstance minden esetben egy hosszabb Bundle-t hoz létre, ezért merült fel az ötlet.)
(((Azt már tényleg csak ezer zárójelben teszem hozzá, hogy a leszármazott osztály nevét meg lehet szerezni, és lehet ilyet körülményesen mégis gyártani, de a javasolt megoldás sokkal átláthatóbb, és kényelmesebb.)))
Remélem senkit nem bosszantottam azzal, hogy csupán a tanulság kedvéért helytelen kódot szemeteltem a fórumba.
Én nagyon sokat tanultam a javaslataidból, hála és köszönet! 
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! Részletfizetés 0% THM ÚJ Sony PlayStation 5 Slim digital / lemezes / Pro konzol 27% áfa
- Apple iPhone 14 128GB,Újszerű,Adatkabel,12 hónap garanciával
- BESZÁMÍTÁS! ASUS B365M i5 9600KF 16GB DDR4 512GB SSD RX 5600XT 6GB Zalman S2 TG GAMDIAS 650W
- HIBÁTLAN iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4370
- Bomba ár! HP EliteBook 820 G3 - i5-6GEN I 16GB I 256GB SSD I 12,5" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Én nagyon sokat tanultam a javaslataidból, hála és köszönet! 

