gpt4 book ai didi

c# - 是否可以一次扩展 2 个类?

转载 作者:可可西里 更新时间:2023-11-01 03:03:44 25 4
gpt4 key购买 nike

我有这些类(class):

public class myClassPage : System.Web.UI.Page
{
public myClassPage ()
{

}
}

public class myClassControl : System.Web.UI.UserControl
{
public myClassControl ()
{

}
}

我想要另一个扩展这些类的类,像这样:

public class myClassData : myClassPage, myClassControl
{
public myClassData ()
{

}
}

是否可以这样做,或者我还能做些什么吗?

最佳答案

在您需要扩展两个类的情况下,您可能更喜欢组合而不是继承,并像其他答案提到的那样使用接口(interface)。一个例子:

从定义接口(interface)开始

interface IFoo 
{
void A();
}

interface IBar
{
void B();
}

然后创建实现每个接口(interface)的具体类

class Foo : IFoo
{
public void A()
{
// code
}
}

class Bar : IBar
{
public void B()
{
// code
}
}

最后,在您想要展示两组行为的类中,您可以实现每个接口(interface),但将实现与具体类组合。

public class Baz : IFoo, IBar
{
IFoo foo = new Foo(); // or inject
IBar bar = new Bar(); // or inject

public void A()
{
foo.A();
}

public void B()
{
bar.B();
}
}

关于c# - 是否可以一次扩展 2 个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com