4 ms·
Both. Assuming that you can actually exclude instances of class Cat in case 1 and of Animal in case 2, that is. In case 1, the actual type of a1 would be Anima
by rbehrends 9y ago
Both. Assuming that you can actually exclude instances of class Cat in case 1 and of Animal in case 2, that is.
In case 1, the actual type of a1 would be Animal | Dog. In case 2, the actual type of a2 would be Dog | Cat. (Either a1 or a2 might be declared with a different type, this is about the values that they can actually hold, according to your stated premises.)
- vram22 9y ago>Both. Assuming that you can actually exclude instances of class Cat in case 1 and of Animal in case 2, that is. Good point. I was actually thinking in terms of Python OOP, and in that, you cannot exclude those instances (at least not without some extra code).