众所周知,Java和J#禁止“多重继承”。但是,您可以使用Java和J#实现多个接口,例如Runnable。因此,您将如何编写自己的类以从JFC和WFC类继承,并同时实现JFC和WFC接口?这样有可能……吗?
我知道如何分别继承JFC和WFC类并一次实现一个接口。有人可以张贴示例代码吗?我正在阅读约翰·夏普(John Sharp)的微软出版社(Microsoft Press)书,他说,所有这一切都是基本的……有人可以帮忙吗?
最佳答案
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混合使用(如果可以混合使用,我不太清楚),这两个都是可以插入本机代码的工具箱。