Полиморфный вызов в C#
Полиморфный вызов - это обращение к методу через переменную базового типа, когда выполняется реализация реального класса объекта.
Для этого метод в базе помечают virtual,
а в потомке переопределяют через override.
Запишем два потомка и вызов через User:
class User {
public virtual void Role() {
Console.WriteLine("user");
}
}
class Employee : User {
public override void Role() {
Console.WriteLine("employee");
}
}
class Student : User {
public override void Role() {
Console.WriteLine("student");
}
}
Сохраним разные объекты в одной переменной базового типа:
User first = new Employee();
first.Role();
User second = new Student();
second.Role();
Сделайте в User метод Label в User
и разные реализации в Employee и Student.
Сохраните каждый объект в переменной User, вызовите метод
и выведите обе строки.