关于耦合性的一点考虑

2018-01-24  本文已影响29人  飞飞小狮子

接口

接口和接口关系的总结:

1:类名上发生关系

2:方法变量上发生关系

3:接口中定义接口

1:接口继承接口

提供遍历的功能

public interfaceIterable {

Iterator iterator();

}

每个集合对象都要提供一个遍历的功能,就让集合的接口继承了Iterable

这样集合接口就绑定了一个遍历的功能。

public interfaceCollectionextendsIterable {

这样Collection可以自由的被实现,但是一定绑定着一个Iterable,同时Iterable也可以被自由的实现。

场景:一种抽象需要依赖一种抽象。

2:接口作为抽象方法中的参数

假设Observable是个接口(实际上java提供的是个类)

public interfaceObserver {

voidupdate(Observable observable, Object data);

}

3:接口中定义接口

public interfaceBaseView{

voidsetPresenter(T presenter);

}

public interfaceBasePresenter{

voidstart();

}

public interfaceTaskDetailContract {

interfaceViewextendsBaseView {

voidsetLoadingIndicator(booleanactive);

voidshowTaskMarkedComplete();

voidshowTaskMarkedActive();

booleanisActive();

}

interfacePresenterextendsBasePresenter{

voideditTask();

voiddeleteTask();

voidcompleteTask();

voidactivateTask();

}

}

抽象类

抽象类的总结:

1:类名上发生关系

2:方法变量上发生关系

3:抽象类中定义抽象类

4:成员变量上发生关系

1:抽象类继承抽象类

public abstract classOutputStreamimplementsCloseable, Flushable

abstract classAbstractFilterextendsOutputStream

2:抽象类作为抽象类的成员变量

带泛型的抽象类作为成员变量

public abstract classBaseActivityextendsBasePresenter>

extendsAppCompatActivity {

//Presenter类的实例对象,利用泛型,动态设置Rresenter的具体对象publicTmPresenter;

public abstract classBaseActivityextendsAppCompatActivity {

//Presenter类的实例对象,利用泛型,动态设置Rresenter的具体对象publicBasePresentermPresenter;

上一篇 下一篇

猜你喜欢

热点阅读