/*里式转换
* 1.子类可以赋值给父类
* 2.如果父类中装的是子类对象,那么可以将这个父类强转为子类对象
*
* 3.is:表示类型转换,如果转换成功,返回一个true
* as:转换失败,则返回Null
*
*
*/
class Program
{
static void Main(string[] args)
{
//Student s = new Student();
//1.子类可以赋值给父类:如果有一个地方需要父类作为参数,我们可以给一个子类代替
//Person p = s;
Person p = new Student();
//2.如果父类中装的是子类对象,那么可以将这个父类强制转为子类对象
Student s = (Student)p;
s.StudentSayHello();
//is
if(p is Teacher)
{
Teacher t = (Teacher)p;
t.TeacherSayHello();
}
else
{
Console.WriteLine("转换失败!");
}
//as
// Teacher t = p as Teacher;
Console.ReadKey();
}
}
public class Person
{
public void PersonSayHello()
{
Console.WriteLine("我是父类");
}
}
public class Student : Person
{
public void StudentSayHello()
{
Console.WriteLine("我是学生");
}
}
public class Teacher : Person
{
public void TeacherSayHello()
{
Console.WriteLine("我是老师");
}
}
里式转换
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 函数是rsvg_pdf(),这个函数来自于R包rsvg我知道这个函数是在RIdeogram这个R包的帮助文档中。R...
- 今天青石的票圈出镜率最高的,莫过于张艺谋的新片终于定档了。 一张满溢着水墨风的海报一次次的出现在票圈里,也就是老谋...