在路上
分类: C#/.net
2015-08-18 23:17:04
里氏转换
1、子类可以复制给父类: 好处------如果有一个地方需要一个父类做参数,我们可以给一个子类代替
例如:Student是Person的子类------> Student s = new Student; Person p =
s;---->Person p = new Student;
用处:string str = string.Join("|", object) ; 这个地方object是所有类的父类,我们带入参数时可用:new string[]{"1","2"}
2、如果父类中装的是子类对象,那么我们是可以将这个父类转换为子类对象的
Person p = new Student;//调试Person {_02里氏转换.Student}
Student ss = (Student)p; //强转
五、 is as
is:表示类型转换----如果转换成功,返回一个true,否则返回false
if(p is Reporter)
{
Reporter
rr = (Reporter)p;
rr.ReportSayHello();
}
else
Console.WriteLine("转换失败");
as:表示类型转换-----如果能够转换则返回一个对应的对象,否则返回一个null
//as的用法
Reporter
r = p as Reporter;
r.ReportSayHello();