1. Рихтер трансформационной грамматики:
1) подкласс может быть присвоен родительский класс: Если есть необходимость поместить родительский класс в качестве аргумента, мы можем дать вместо подкласса
Человек р = новый Student ();
2). Если родительский класс загружен с объектом подкласса, то это может быть преобразовано в родительский объект подкласса
Студент ст = (студент) р
И как 2.Is
1): указывает тип преобразования, если преобразование может быть успешным, возвращает истину, в противном случае возвращает ложь;
Человек р = новый Student ();
если (р Учитель)
{
студент ст = (студент) р;
stu.StudentPrint ();
}
Иначе
{
Console.WriteLine ( "转换失败");
}
2) как: указывает тип преобразования, если объект может быть преобразован в соответствующий возврата, в противном случае она возвращает нуль;
Учитель чай = р , как учитель;
если (чай == NULL)
{
Console.WriteLine ( "转换失败");
}
Иначе
{
tea.TeacherPrint ();
}
Воспроизводится в: https: //www.cnblogs.com/zwj-199306231519/p/11027038.html