适配器模式

来源:互联网 发布:vb下拉菜单怎么设置 编辑:程序博客网 时间:2024/06/05 20:24
适配器模式:
    将一个类的接口,转换成客户期望的另一个接口。适配器让原来接口不兼容的类可以合作无间。
1.适用范围:
想使用一个已存在的类,但是该类不符合接口需求;或者需要创建一个可重用的类,适配没有提供合适接口的其它类。


2.适配器模式有两种实现方式:
    1.对象适配器
        通过组合来实现

    2.类适配器
        这种实现方式是通过多重继承实现的,因为Java不支持多重继承,所以我们先不管它。


3.例子:
将一个Iterator 适配成枚举类型:

public class IteratorEnumeration<E> implements Enumeration<E>{
Iterator<E> mIterator;

public IteratorEnumeration(Iterator<E> iterator) {
this.mIterator = iterator;
}

@Override
public boolean hasMoreElements() {
return mIterator.hasNext();
}

@Override
public E nextElement() {
return mIterator.next();
}
}
将枚举类型转换为迭代器:
public class EnumerationIterator<E> implements Iterator<E> {
Enumeration<E> mEnum;
public EnumerationIterator(Enumeration<E> mEnum) {
this.mEnum = mEnum;
}

@Override
public boolean hasNext() {
return mEnum.hasMoreElements();
}

@Override
public E next() {
return mEnum.nextElement();
}

@Override
public void remove() {
throw new UnsupportedOperationException();
}
}

外观模式:提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

适配器:将一个接口转换为另一个接口
装饰者:不改变接口,但加入责任
外观:让接口更简单

0 0
原创粉丝点击