| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:求助:VB.NET中类接口的问题
只看楼主 加入收藏
yhj8848
Rank: 1
等 级:新手上路
帖 子:7
专家分:7
注 册:2011-12-18
收藏
 问题点数:0 回复次数:0 
求助:VB.NET中类接口的问题
本来学时间不久,是菜鸟,这段时间在学习面向对象的知识,大部份我都能理解得了,就是那个类接口一直理解不了,看书里和例题都感觉很难理解,像抽象类我都能理解得了的,就这个问题一直困扰着我,寝食难安,希望能有高人指点我一下,可能是我钻进死胡同了,下面的按照我的意思编的一个例子,不知道理解得对不对,大家帮看一下:
我看书说接口最主要的功能就是解决子类中只能继承一个父类的问题
Interface interface2
    Sub jiekou()
    Function jiekou2()
End Interface
Interface interface1
    Sub dingyi()
    Function dingyi1()
End Interface
Interface interface3
    Inherits interface1, interface2     ’接口3这个继承接口1和接口2可以吗
End Interface
---------------------------------------------------------------------------------------------------
Public Class class1
    Implements interface1

    Public Sub dingyi2() Implements interface1.dingyi   '实现接口1中dingyi这个过程
        MsgBox("接口1")
    End Sub

    Public Function dingyi1() As Object Implements interface1.dingyi1   ’实现接口1中dingyi1这个函数
        Return 1
    End Function
    Public Sub oiu()
        MsgBox("未实现接口1的过程")   
    End Sub
End Class
----------------------------------------------------------------------------------------
Public Class class2
    Implements interface2

    Public Sub jiekou() Implements interface2.jiekou   '实现接口2中jiekou这个过程
        MsgBox("接口2")
    End Sub

    Public Function jiekou2() As Object Implements interface2.jiekou2   '实现接口2中jiekou2这个过程
        Return 2
    End Function
    Public Sub ewai()
        MsgBox("未实现接口2的过程")
    End Sub
End Class

上面是我定义了两个接口,interface1和interface2 以及实现这两个接口里方法的两个类class1和class2,我的问题在这:我不知道怎么调用这两个接口
按照我自己编的另一个类,想实现这两个接口里的功能(我的意思是相当我新建这个类要继承class1和class2这两个类),如何能做得?下面是我按我的思路编的一个类

Public Class class3
    Dim a As interface1
    Dim b As interface2
    Sub test()            '调用interface1接口中的dingyi过程
        a.dingyi()
    End Sub
    Function text1()      '调用了interface2接口中的jiekou2函数
        Return b.jiekou2()
    End Function

End Class

我个人理解是class3这个类使用了interface1和interface2这两个接口,并且调用了这两个接口中的dingyi过程和jiekou2函数,我在VS2010时编这个class3的过程中,没有提示什么或者警告之类的,语法上都能通过,但是就是运行的时候就出错,
比较我在command点击事件里实例化class3
dim p as new class3
p.test
运行后,就错了
提示没有使用new关键词,我上面还定义了一个interface3接口,里面继承了interface1和interface2这两个接口,不知道这样子行不行?

另个我在网看有这种语句
Dim a As interface1 =new class1
Dim b As interface2 =new class2
但是觉得这样子应该不对,我个人觉得像有了接口,就无须知道接口下的方法是具体由些类来实现的,要不然就没事找事了。

以上是我遇到的问题,求高人指教,帮我修改一下,最好能给我讲解就好了,我是自学的。但是既然碰到问题了,就不想去回避它。先谢谢了
搜索更多相关主题的帖子: 继承 死胡同 接口 知识 
2011-12-18 21:45
快速回复:求助:VB.NET中类接口的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043016 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved