Правила преобразования и обращения к членам классов в иерархии наследования
Объекты производных классов могут храниться в переменных базовых классов:
Dim tom As New Programmer("Tom". 65000)
Dim employeeOfTheMonth As Employee
employeeOfTheMonth = torn
В режиме жесткой проверки типов (Option Strict On), если объект tom хранится в переменной employeeOfTheMonth, для сохранения его в переменной Programmer приходится использовать функцию СТуре, поскольку компилятор заранее не знает, что такое преобразование возможно:
Dim programrnerOnCall As Programmer
programmerOnCal1 = CType(employeeOfTheMonth,Programmer)
Конечно, простое сохранение tom в переменной programmerOnCall выполняется простым присваиванием.