Po pierwsze z
nie jest obiektem, to jest referencja, czyli rodzaj wizytówki, w której masz lokalizację obiektu i jego typ. Więc Twoja wizytówka zawiera poprawną lokalizację obiektu, ale niezgody typ z rzeczywistym (w sensie nie taki sam). Rzeczywisty obiekt ma typ B
, który jest rozszerzeniem typu A
, czyli można by zapisać, że B
= A
+ coś dodanego
, czyli z
choć ma inny typ może być traktowany jako A
.
Bardziej przejrzyście to można wytłumaczyć gdyby A
to była klasa Osoba
ze składowymi imię
, nazwisko
i data urodzenia
, a B
to klasa Lekarz
, która jest wyprowadzona z klasy Osoba
. Możesz utworzyć referencje do konkretnego lekarza typu Osoba
, bo przecież każdy lekarz jest osobą. Wtedy taka referencja umożliwiałaby wykonać wszystkie operacje na jakimś lekarzu jak na osobie., typu podaj imię, nazwisko czy datę urodzenia. Ale gdy potrzebowałbyś uzyskać za pomocą tej referencji jakiś informacji o lekarzu, to musiałbyś zrzutować referencję na klasę Lekarz
..