微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

回顾vb多态

由于vb是基于对象没有完全面向对象所以vb也就没有继承。但是vb可以实现向C++和Java一样的继承的功能(个人理解),所以vb也算是有继承了。面向对象的编程理念是抽象——封装——继承——多态。我的理解是vb的的抽象——类;封装——在类中写过程;继承——复制过程的代码;多态——不同的结果。
下面介绍下vb中多态实现的具体步骤:
1、定义接口类 。
接口类中只是写事物的功能,具体实现类的代码不写。
例如:我们定义一个接口类Fruit类,它的功能是保鲜。
public sub save()
end sub

2、定义实现类
实现类就是使用接口类实现某些功能
例如:我们定义两个实现类,Apple类和Grape类。
Grape类代码
Implements Fruit '声明要是使用Fruit这个接口
public sub Fruit_save()
msgBox "apple save"
end if
Apple 类代码
Implements Fruit '声明要是使用Fruit这个接口
public sub Fruit_save()
msgBox "grape save"
end if
接下来就是在窗体中写代码
private sub mysub(afruit as Fruit) '定义过程
afruit.save
end sub
private sub command1_clike()
dim aApple as Apple
set aApple = new Apple
call mysub(aApple)
set aApple as nothing
dim agrape as Grage
set agrape = new Grage
call mysub(agrape)
set agrape as nothing
end sub

然后运行就可以看到msgBox 分别弹出 apple save 和 apple save。
运用相同的变量afruit 传入不同的参数实现不同的结果,这便实现了多态的功能

总结:这和我们在模块中写一个function过程有点像,都是传入参数返回结果。但多态可定由他独特的好处, 具体好处我也不知道。说实话感觉到这里对面向对象 的理念理解的还不是太清,不过没关系因为我们 还会有第二遍第三遍的学习。

原文地址:https://www.jb51.cc/vb/257806.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐