您的位置首页百科问答

c#中关于里氏转换

c#中关于里氏转换

的有关信息介绍如下:

c#中关于里氏转换

里氏转换在c#中,非常重要,本文记录学习里氏转换的过程

里氏转换有两个概念:

子类的对象可以赋值给父类

如果父类含有子类的对象,那么父类可以强制转换成子类

首先在vs中创建一个父类Person类,然后再创建一个子类Student类,具体代码如图

首先里氏转换的第一条

Student s = new Student();

Person p = s;

将子类对象赋值给父类

同时可以简写成Person p=new Student

里氏转换第二条

Student s = new Student();

Person p = s;

Student ss=(Student)p;//因为父类含有子类的成员,所以可以强制转换

如图就不可以,因为父类的成员不含有子类的对象,所以强转会报错

里氏转换的实际使用例子