Java 适配器模式

概要:

目标类是Adapter的父类,Adapter需要继承目标类,以具备目标类提供的功能。

Adapter是适配器模式中的适配者,它本身并不实现任何功能,但是能提供功能,即它能将其他类的功能据为己有。

Adapter是适配器模式中的被适配者,Adapter需要实现Adapter的接口,以提供Adapter提供的功能。在Adapter的构造方法中,传入一个具体的Adapter对象,在实现Adapter接口定义的方法中,调用Adapter对象的相应方法。

| |目录

代码

package net.xsoftlab.baike;
interface Shape {// 定义形状接口
	public void setPosition(int position);// 设置位置
	public int getPositioin();// 获得位置
	public void move();// 移动位置
	public void display();// 展示形状
}
class Oblong implements Shape {// 定义一个矩形形状
	int position;
	public void setPosition(int position) {
		this.position = position;
	}
	public int getPositioin() {
		return this.position;
	}
	public void move() {
		System.out.println("矩形图形已经移动到:" + 3 * position);
	}
	public void display() {
		System.out.println("矩形图形的位置:" + position);
	}
}
class Circular {// 定义一个圆形形状,没有实现Shape接口
	int position;
	public int getPosition() {
		return position;
	}
	public void setPosition(int position) {
		this.position = position;
	}
	public void display() {
		System.out.println("圆形图形的位置:" + position);
	}
}
class CircularAdapter implements Shape {
	private Circular circular;
	public CircularAdapter() {
		circular = new Circular();
	}
	public void display() {
		circular.display();
	}
	public int getPositioin() {
		return circular.getPosition();
	}
	public void move() {// 为Circle扩展Move()的方法
		System.out.println("圆形图形已经移动到:" + 3 * getPositioin());
	}
	public void setPosition(int position) {
		circular.setPosition(position);
	}
}
public class TextAdapter {// 操作适配器的类
	public static void main(String[] args) {// java程序主入口处
		Oblong oblong = new Oblong();// 实例化对象
		oblong.setPosition(100);// 设置位置
		oblong.display();// 显示位置
		oblong.move();// 移动位置
		CircularAdapter circular = new CircularAdapter();// 实例化适配器
		circular.setPosition(200);// 设置位置
		circular.display();// 显示位置
		circular.move();// 移动位置
	}
}


评论关闭
评论 还能输入200
评论关闭
评论 还能输入200
  • 全部评论(0)
资料加载中...
已关注 , 取消