我是C#(和OOP)的新手。当我有如下代码时:
class Employee
{
// some code
}
class Manager : Employee
{
//some code
}
问题 1:如果我有其他代码可以做到这一点:
Manager mgr = new Manager();
Employee emp = (Employee)mgr;
这Employee
是 a Manager
,但是当我像这样将它转换为 anEmployee
时,这意味着我正在向上转换它吗?
问题 2:
当我有几个Employee
类对象并且其中一些但不是全部是Manager
's 时,我怎样才能在可能的情况下向下转换它们?