传统接口的演示
package src.Sefrefation;
/*
传统的接口的使用方法
接口
实现类 A
实现类 B
其他类通过接口来使用 A 和 B
缺点是:A 和 B 必须实现接口的所有方法,即使有些方法是自己用不到的
*/
public class Sefrefation {
interface Interface1 {
void operation1();
void operation2();
void operation3();
void operation4();
void operation5();
}
class D implements Interface1{
@Override
public void operation1() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation1'");
}
@Override
public void operation2() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation2'");
}
@Override
public void operation3() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation3'");
}
@Override
public void operation4() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation4'");
}
@Override
public void operation5() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation5'");
}
}
class B implements Interface1{
@Override
public void operation1() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation1'");
}
@Override
public void operation2() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation2'");
}
@Override
public void operation3() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation3'");
}
@Override
public void operation4() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation4'");
}
@Override
public void operation5() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'operation5'");
}
}
class A{ // A类通过接口Interface1 依赖(使用)B类,但是只会用到1,2,3方法
public void depend1(Interface1 i) {
i.operation1();
}
public void depend2(Interface1 i) {
i.operation2();
}
public void depend3(Interface1 i) {
i.operation3();
}
}
class C{// C类通过接口Interface1 依赖(使用)D类,但是只会用到1,4,5方法
public void depend1(Interface1 i) {
i.operation1();
}
public void depend4(Interface1 i) {
i.operation4();
}
public void depend5(Interface1 i) {
i.operation5();
}
}
}