基类,如何调用子类的方法?

WM_JAWIN 2008-09-19 09:54:44
比如两个类:

class VedioPlayer
sub play(file)
messagebox.show("这个是基类play")
end sub
class

class SwfPlayer
Inherits VedioPlayer
sub play()
messagebox.show("SwfPlayer.play")
end sub
class


然后调用代码如下:

dim player as VedioPlayer
dim sPlayer as new SwfPlayer
player.play()


执行player.play()这句时,怎么才可以让他调到SwfPlayer.play?
当然.我知道.用sPlayer.play()可以执行它.
...全文
274 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
long_xiao 2008-11-03
  • 打赏
  • 举报
回复
谢谢!
WM_JAWIN 2008-09-19
  • 打赏
  • 举报
回复
谢谢楼上几位的帮助.

我是想这样子做的.
VedioPlayer vp;这个做为全局变量.然后根据文件类型的不同,new出不同的Player(有rmPlayer,aviPlayer等,都是从VedioPlayer派生),实例之后,统一用vp这个全局变量中存放。以后的操作就直接对vp操作即可。
但现调用vp.play的话,就只执行基类的play,子类的play无法执行.难道又得将他它转换成相应的子类类型再调用?
greystar 2008-09-19
  • 打赏
  • 举报
回复
dim player as new VedioPlayer

版本控制的问题没搞清吧.
lovehongyun 2008-09-19
  • 打赏
  • 举报
回复
VedioPlayer vp = new SwfPlayer();
vp.play();
lovehongyun 2008-09-19
  • 打赏
  • 举报
回复
楼主.你的思想整个反了-_-!...
Red_angelX 2008-09-19
  • 打赏
  • 举报
回复
用基类指针去指子类进行统一管理就行了
sPlayer没存在的必要
Red_angelX 2008-09-19
  • 打赏
  • 举报
回复
player = new SwfPlayer
这样去创建就可以了
ZengHD 2008-09-19
  • 打赏
  • 举报
回复
public

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧