Правила преобразования и обращения к членам классов в иерархии наследования
Объекты производных классов могут храниться в переменных базовых классов:
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 выполняется простым присваиванием.
При работе с объектом torn через переменную employeeOfTheMonth вам не удастся использовать уникальные члены, определенные в классе Programmer и отсутствующие в Employee. С другой стороны, как будет показано в следующем разделе, при этом сохраняется доступ ко всем членам класса Programmer, переопределяющим члены класса Employee.