Polimorfizm, przesłanianie, przeciążanie – MUST KNOW!
- Polimorfizm dotyczy przesłaniania, nie przeciążania.
- Typ referencji (zmiennej) określa jakie metody mogą być wywoływane.
- Typ obiektu określa, która przesłonięta metoda zostanie użyta w czasie wywołania.
- Typ referencji określa, która przeciążona metoda zostanie użyta w czasie kompilacji.
Wg. mnie w czwartym punkcie jest błąd. Typ referencji określa która przesłonięta metoda zostanie użyta podczas kompilacji (a nie przeciążona).
Tomku, nie ma tam błędu. Spójrz na poniższy przykład.
Po uruchomieniu programu powinno pojawić się coś takiego:
Jak widzisz, typ referencji (po lewej stronie zmiennej) decyduje, która przeciążona metoda zostanie wywołana.