Diskuze: Atributy a reflexe
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Reflexe ti umožňuje zkoumat zdrojový kód programu za jeho běhu a dokonce ho i měnit (rozšiřovat). Reflexí můžeš nahradit hnusné switche podobné tomuto:
switch (akce)
{
case "krok": karel.Krok(); break;
case "vlevovbok": k.VlevoVbok(); break;
// dalších 1000 příkazů
}
Nad metody si dáš nějaký vlastní atribut, třeba volatelný. Při spuštění aplikace si projedeš třídu a přes reflexi najdeš metody s tímto atributem, které si uložíš. Dále je pak už jen voláš podle toho, co ti přišlo ve stringu. Ušetříš opravdu spoustu redundantního kódu.
Na podobném principu je v Javě postaven enum. System.in, System.out a System.err jsou také enum.
Zobrazeno 3 zpráv z 3.