, поэтому я увидел этот пример из stackoverflow , чтобы реализовать множественное наследование с помощью интерфейсов., моделируя множественное наследование в C#
interface ILARGESimulator
{
}
interface IUDPClient
{
}
class UDPClient : IUDPClient
{
}
class LargeSimulator : ILARGESimulator
{
}
class RemoteLargeSimulatorClient : IUDPClient, ILargeSimulator
{
private IUDPClient client = new UDPClient();
private ILARGESimulator simulator = new LARGESimulator();
}
Парень сказал «К сожалению, вам нужно будет написать методы обертки для членов. Множественное наследование в C# не существует. Однако, вы можете реализовать несколько интерфейсов.»
Почему мы все равно наследуем оба интерфейса?
class RemoteLargeSimulatorClient : IUDPClient, ILargeSimulator
Если у вас возникли уже-отношения и вызова базовых объектов на производном классе, почему даже писать :IUDP, ILargeSimulator
? не было бы просто
class RemoteLargeSimulatorClient
{
хорошо?
Я научился [предпочитать композицию (инкапсуляцию) и интерфейсы по наследованию] (http://stackoverflow.com/questions/49002/prefer-composition-over-inheritance). –