abattu et sortie

Je suis nouveau sur C# (et OOP). Quand j'ai le code suivant:

class Employee
{
    //some code
}


class Manager : Employee
{
    //some code
}

Question 1: Si j'ai un autre code qui fait cela:

   Manager mgr = new Manager();
   Employee emp = (Employee)mgr;

Ici Employee est un Manager, mais quand je lance ça comme ça pour un Employee cela signifie que je suis upcasting il?

Question 2:

Lorsque j'ai plusieurs Employee les objets de la classe et certains mais pas tous d'entre eux sont Manager's, comment puis-je abattu dans la mesure du possible?

  • Upcasting peut être fait sans cast explicite. Donc Employee emp= mgr; devrait suffire.
InformationsquelleAutor user184805 | 2009-10-06