c#笔记里氏转换·17

本文介绍了C#中的里氏转换概念,包括父类容器装子类对象的用途,详细阐述了is和as关键字的用法,并通过示例说明了如何进行对象的储存和管理,以及如何在实际编程中利用里氏转换来简化代码。
摘要由CSDN通过智能技术生成

-------------------------------------------------------------里氏转换----------------------------------------------------
    概念:父类容器装子类对象
    作用:方便进行对象的储存和管理
    使用:is判断   as转换    (括号强转也可)
1.子类可以赋值给父类:(因为-子类对象可以调用父类成员,父类对象永远只能调用自己的成员,如果有地方父类需要使用子类成员则)(里氏转换父类也不能直接调用子类对象,只能简介使用子类对象)
fulei;//父类
studnet;//子类
teacher;//子类
student s=new student();
person p=s; 
或者两行合一写成person p=new student();

2.如果父类中装的是子类对象,那么可以将这个父类强转为子类对象
现在p盛放的是student子类对象,那么:
student ss=(student)p;//正确,语法子类名 子类对象=(子类名)父类对象
teacher laoshi=(teacher)p;//错误,因为p里盛放的是student对象,不能转化为teacher

3.is  as
is:为了判断盛放有子类对象的父类,强转为子类对象是否成功,成功返回bool为true,失败返回fale
用法:if(p is teacher)//p里装的是不是teacher类?如果是,则返回ture,否则false
{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值