Явное приведение в C#
Через переменную базового типа недоступны методы, объявленные только в потомке.
Если объект на самом деле создан как Student,
тип переменной сужают явным приведением
в скобках перед выражением. Запишем
GetGrade у студента и получим Student
из User:
class User {
}
class Student : User {
public int GetGrade() {
return grade;
}
private int grade = 3;
}
Сужение типа до студента:
User user = new Student();
Student student = (Student)user;
Console.WriteLine(student.GetGrade());
Пусть переменная User
ссылается на объект Employee.
Сузьте тип до Employee
и выведите зарплату сотрудника.