代码之家  ›  专栏  ›  技术社区  ›  Steve Duitsman

在VB.Net中可以进行多重继承吗?

  •  14
  • Steve Duitsman  · 技术社区  · 17 年前

    在VB.Net中可以进行多重继承吗?如果是,语法是什么?

    4 回复  |  直到 17 年前
        1
  •  19
  •   Harper Shelby damiankolasa    17 年前

    简短回答:没有

        2
  •  4
  •   Joel Coehoorn    17 年前

    在VB.Net中,它可能以一种受限制的方式通过接口,就像在C#:中一样。由于接口本质上是一个纯抽象基类,因此可以根据需要从多个基类和一个实际类继承。

        3
  •  1
  •   VoteCoffee    15 年前

    here for design pattern ).也许你在定义一种行为。您可以始终在基类中实现接口SomeInterface,在成员构造函数中传递对拥有它的基类的引用(如果需要,它可以是实现SomeInterface的任何类,因此可以让代码进行实现)(如果这样做,请尝试添加另一个接口来定义回调,基类将实现它,子类将其作为成员变量类型)。使用对成员类的调用来实现SomeInterface。这样,代码将在另一个类中实现,这使得代码易于维护,但您不会执行多重继承。

        4
  •  1
  •   GoldBishop    13 年前

    据我所知,VB.net通常不支持多重继承,但您可以通过使用接口(使用实现而不是继承)实现某种多重继承:

    Public Class ClassName
        Implements BaseInterface1, BaseInterface2
    
    End Class
    

    Public Interface InterfaceName
        Implements BaseInterface1, BaseInterface2
    
    End Interface
    

    但是接口不允许使用Implements关键字(当然,这是有意义的)。我尝试使用一种我从Java中了解到的抽象类:

    Public MustInherit Class InterfaceName
        Implements BaseInterface1, BaseInterface2
    
    End Class
    

    但是现在我需要在InterfaceName类中实现BaseInterface1和BaseInterface2中定义的方法。但是由于InterfaceName也应该是一个接口,我不想在那个类中实现这些方法。

    public interface InterfaceName: BaseInterface1, BaseInterface2 {}