专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

类实例的类型转换有关问题

发布时间:2011-06-28 14:07:21 文章来源:www.iduyao.cn 采编人员:星星草
类实例的类型转换问题
Alias(44133057) 21:37:48
using System;
class A
{
public void F()
{
Console.WriteLine("A.F");
}
}
class B:A
{
void F()
{
Console.WriteLine("B.F")
}
}
class Test
{
static void Main()
{
B b=new B();
A a=b;
a.F();
b.F();
}
}
Alias(44133057) 21:39:14
A a=b; 这里可以这样隐式转换吗??

------解决方案--------------------
基类应该具备的成员,派生类都具备,所以,派生类做本来由基类做的工作,那是没有问题的。
而基类缺少派生类的某些成员,派生类能做的事,基类不一定能做的。


A a=new A();
B b=a;

我觉的这样倒是可以的 ,b的方法很多 ,而b=a ,那麽 b 只有a中的方法
--------------------------------------------
假设这是允许的,我现在要通过b执行一个只有派生类才有的方法,那么它该怎么办?
它事实上不具备这个方法,要做的话,是绝对做不了的,不做的话,又不符合它现在表面上的身份。
------解决方案--------------------
可以的,
有时间看下框架设计,里面对这些写得很清楚,一本不错的书,不容易懂,
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: