创建一个具有两个其他对象的所有属性的对象?

fre*_*red 7 c# inheritance multiple-inheritance

考虑体育俱乐部的情况.俱乐部可以有一个俱乐部经理和一个或多个教练(每个团队一个教练)所以,这里是经理和教练课程的一个例子.

Class ClubManager
{
    public void RegisterMember()
    {
        // code for registering a member..
    }
}

Class Coach
{
    public void DeviceTeamFormation()
    {
        // code for making a team formation..
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我怎么能有一个也是教练的俱乐部经理?因为有这种情况的体育俱乐部.

感谢任何和所有的帮助.多谢你们.

Luc*_*ero 8

不,你不能用课来做这件事.然而,接口可以帮助您实现这一目标.

另一方面,您可能希望添加另一级别的间接并将管理员和教练角色与人员分开,以便您可以将每个角色分配给一个人(也可能是同一个人).

  • +1这是正确的解决方案; 教练和经理是人们玩的角色,而不是人们的角色.更多细节如下. (3认同)

Raj*_*ore 1

多重继承正是您所寻找的。不幸的是,C# 目前不支持此功能。我也没有看到它在 2010 版本中出现。

您可以实现多个接口,但不能从多个类继承

  • 它不太可能被添加到 C# 中,因为它会产生所有陷阱。http://en.wikipedia.org/wiki/Multiple_inheritance#Criticisms (6认同)