1 |
Casting (type conversion) is supported between types and class types. Syntax:
|
2 |
Two forms of casting are possible: widening and narrowing
|
3 |
Widening, where the subclass is used as an instance of the superclass, is performed implicitly
|
4 |
Narrowing, where the superclass is used as an instance of the subclass, must be performed explicitly
|
5 |
Given Parent: Dot -> DrawableDot (Child):
-
Widening: An instance of DrawableDot is used as an instance of Dot
-
Narrowing: An instance of Dot is used as an instance of DrawableDot
|
6 |
Casting between sibling classes is a compile-time error
|