Как бы вы написали свои собственные классы Java для наследования от классов JFC и WFC? - PullRequest
1 голос
/ 09 октября 2009

Как все мы знаем, «множественное наследование» запрещено в Java и J #.Однако вы можете реализовать несколько интерфейсов, таких как Runnable, используя Java и J #.Итак, как бы вы написали свои собственные классы для наследования от классов JFC и WFC и одновременно реализовали интерфейсы JFC и WFC?Возможно ли что-то подобное ......?

Я знаю, как наследовать классы JFC и WFC по отдельности и реализовывать интерфейсы по одному. Может ли кто-нибудь опубликовать пример кода?Я читаю книгу Джона Шарпа по Microsoft Press, и он говорит, что все элементарно ...... Кто-нибудь может помочь?

Ответы [ 2 ]

4 голосов
/ 09 октября 2009
class FooBooImpl implements Foo, Boo {
    public void iAmFoo() {
       // do Foo#iAmFoo
    }
    public void iAmBoo() {
       // do Boo#iAmBoo
    }
}

или

class FooBooImpl extends Foo implements Boo {
    @Override
    public void iAmFoo() {
       super.iAmFoo();
       // do something
    }

    public void iAmBoo() {
       // do Boo#iAmBoo
    }
}

или (если вы решили делегировать)

class SuperFooBoo {
    private Foo foo;
    private Boo boo;

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

    public void iAmBoo() {
       boo,iAmBoo();
    }
}

Теперь у вас есть главное ограничение: Foo и Boo определяют метод с одной и той же сигнатурой. Вы должны быть осторожны, смешивая JFC и WFC (если они могут быть смешаны, я действительно не знаю), оба из этих наборов инструментов, которые подключаются к нативному коду.

0 голосов
/ 09 октября 2009

Как сказал Droidln.net, вы просто создаете класс и говорите, что он реализует два интерфейса. Затем вы пишете методы, соответствующие описанным в интерфейсе.

Если вы используете eclipse (и я предполагаю, что большинство других IDE), вы можете автоматически создавать необходимые методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...